亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

標題: 關于MPU6050的問題 [打印本頁]

作者: 51黑黑黑    時間: 2016-3-4 17:42
標題: 關于MPU6050的問題
關于MPU6050的溫度問題,我用的是stm32F103VET6的硬件I2C,對MPU6050進行讀寫。最開始出現的問題是I2C問題,對于硬件I2C的讀寫圖,嚴格對照



后來I2C解決了,通信也成功了,但是讀出的數據在電腦終端顯示差異很大,數據一會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);
},數據很穩定,變化趨勢正確,問題解決。
關于這里,把L強制轉換為16位數還是有符號的,而L本身也是8位有符號的,在轉換成16位后,其第八位符號位跑到第16位符號位,然后與H組合,出現了問題






歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1