找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 4122|回復: 0
打印 上一主題 下一主題
收起左側(cè)

關(guān)于MPU6050的問題

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-3-4 17:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)于MPU6050的溫度問題,我用的是stm32F103VET6的硬件I2C,對MPU6050進行讀寫。最開始出現(xiàn)的問題是I2C問題,對于硬件I2C的讀寫圖,嚴格對照



后來I2C解決了,通信也成功了,但是讀出的數(shù)據(jù)在電腦終端顯示差異很大,數(shù)據(jù)一會36左右一會又是在常溫,此時檢查代碼int16_t MPU6050_TemData()
{
int16_t L,H;
H = (int16_t)MPU6050_Read_Data(TEMP_OUT_H);
L = (int16_t)MPU6050_Read_Data(TEMP_OUT_L);
H = (H<<8)|(L);
return(H);
}
最后把代碼修改為
int16_t MPU6050_TemData()
{
int16_t L,H;
H = (uint16_t)MPU6050_Read_Data(TEMP_OUT_H);
L = (uint16_t)MPU6050_Read_Data(TEMP_OUT_L);
H = (int16_t)((H<<8)+(L&0xff));
return(H);
},數(shù)據(jù)很穩(wěn)定,變化趨勢正確,問題解決。
關(guān)于這里,把L強制轉(zhuǎn)換為16位數(shù)還是有符號的,而L本身也是8位有符號的,在轉(zhuǎn)換成16位后,其第八位符號位跑到第16位符號位,然后與H組合,出現(xiàn)了問題

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表