最近在研究MPU6050,但是MPU6050的底層驅動又不想自己寫,那怎么辦呢我就想到了去移植正點原子的代碼,但是打開代碼一看需要修改寄存器值 那意味著要去翻數據是手冊,我這個人本身比較懶不想去翻,也為了以后不翻,于是乎我想到了自己動手寫模擬IIC的代碼。寫的過程中我就發現一個問題為什么每次都要管腳切換方向非常麻煩(本人非常煩這一點),于是乎我就在想有沒有辦法不切換方向去讀數據。最后我終于在野火的樹上找到了這樣一句話“STM32的管腳在輸出模式下也可以讀到數據”,起初我對這句話半信半疑于是我自己做了一波實驗,把管腳配置成輸出模式(推挽和開漏都配置了)結果真的能讀到數據不過要使用函數GPIO_ReadInputDataBit去讀IDR寄存器的值。用位帶操作就是不行。然后抱著這個結果我就開始了寫IIC。在這里對IIC協議不再介紹,畢竟網上大佬挺多的隨便改都能找到協議的說明。我的代碼最大的好處就是容易移植容易修改廢話不多說了開始附上代碼。
單片機源程序如下:
全部資料51hei下載地址:
i2c.zip
(1.82 KB, 下載次數: 31)
2019-11-2 20:49 上傳
點擊文件名下載附件
模擬IIC 下載積分: 黑幣 -5
|