暑假這幾天沒事,就花了點時間研究STM32,然后就看到了MPU6050,在網上買了一個模塊到了之后,開始半移植半寫,首先,由于我之前寫過OLED的IIC模式顯示,所以我就直接把IIC拷貝了過來,然后其余的程式一直參考原子的程式再寫,寫完之后發現出現了一個問題始終解決不了,就是在mpu_dmp_init()的時候程式就會直接死在里面,然后進去看了這個函式,主要是mpu_init()的問題,然后進這個函式,除錯了幾次發現rev這個值每次都會等于0x06,然后程式就會直接跳出去列印,然后就在網上瘋狂找資料,找問題,一直沒有結果,然后今天早上一個偶然的機會我終于發現了問題,就是IIC的問題,雖然我的IIC在之前能夠顯示OLED,而且也能夠顯示MPU6050的原始資料和溫度值,但是在DMP的初始化上了,IIC的時序問題更大,不管之前的IIC有多好,建議一定要參照移植前的程式,嚴格的寫IIC。圖片為串口列印的歐拉角資料。

uj5u.com熱心網友回復:
我也玩過這個,也是正點原子的程式,不過人家還給了我一個上位機的APP,所以很簡單跑了跑代碼就搞定了
uj5u.com熱心網友回復:
樓主你好,我也用的正點的i2c代碼,在oled上也可以顯示,但是在mpu上讀不出實時的姿態角,請問要改i2c的哪些時序轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/14295.html
標籤:新手樂園
上一篇:蠢蠢的問題
下一篇:UDP與防火墻
