1. 程式人生 > 其它 >【MPU6050】讀取地址錯誤問題,讀取ID0,209(0xd1),255

【MPU6050】讀取地址錯誤問題,讀取ID0,209(0xd1),255

MPU6050初始化的問題卡住了好幾天,也參考了很多部落格,終於解決了

1.首先觀察一下模組是否有損壞

我之前的時候是用螺絲固定的,就導致模組上面有個元件掉了,之前都沒太注意。
如下圖

2.如果沒有上個問題可以繼續向下看

我是用的MCU是STM32F103C8T6,在看原子的例程裡發現,IIC初始化中有這麼一句

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

因為我使用的是HAL庫,所以對庫函式不是很瞭解,然後我去搜了一下,知道了
STM32F10X系列復位後PA13、14、15和PB3、4預設配置為JTAG功能,如果要重新作為普通IO使用,還需要禁用JTAG
下面給出HAL庫的解決辦法:
在MCU_IIC_Init函式結尾加上下面這一句就可以了

__HAL_AFIO_REMAP_SWJ_NOJTAG();


如果按照上面第二部的做法你讀取的地址還是,讀取數值是209,那麼請看下一條

3.如果讀取的數值是209(0XD1)

那麼應該是杜邦線接觸不嚴的問題,我剛開始用的麵包板連線的,需要用手扶著才能讀出104(0x68),鬆開就會有問題。
如圖

後來我把MCU和MPU6050插到PCB上讀取的數值就沒有問題了。
如圖

希望以上的解決方案能對你有幫助!
參考:https://blog.csdn.net/weixin_34033624/article/details/93242998?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164492222816780255224172%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164492222816780255224172&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2

allbaidu_landing_v2~default-1-93242998.first_rank_v2_pc_rank_v29&utm_term=GPIO_PinRemapConfig+HAL%E5%BA%93&spm=1018.2226.3001.4187
http://www.openedv.com/posts/list/0/59031.htm