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