在調試一個自己做的手環,每次用keil燒寫好程序運行的藍牙、陀螺儀都是正常的。但是掉電再上電之后藍牙是好的、陀螺儀可以讀出ID但是讀出的加速度和角速度數據全為0。
下面是發生問題時main函數的前面部分:
首先看到一篇:《mpu6050需要一段時間上電然后再初始化!!》的文章,於是在前面加了個延時。
下面是添加一個延時的main函數前部分:
不過,還是有相同的問題!
然后,又找了一個《TM4C123GxL MPU6050讀出陀螺儀和加速度計的值全為0》的文章,他出現的情況和我的非常像!
下面是作者最后給出的總結:
我根據他結論的第二點把代碼做如下修改最終解決了問題:
1.將I2C初始化函數放在后面,main函數剛開始加延時
2.mpu6050初始化進行循環初始化直到寫入成功