找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1301|回復: 7
打印 上一主題 下一主題
收起左側(cè)

一段I2C通訊的代碼看不懂,想請教一下

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1130488 發(fā)表于 2024-9-7 17:14 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

為什么在程序中檢查到從機應答會停止總線呀,看到這里有點蒙了

無標題.png (163.76 KB, 下載次數(shù): 1)

程序圖片

程序圖片
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:878061 發(fā)表于 2024-9-7 22:15 | 只看該作者
if(MPU_IIC_Wait_Ack())中這個函數(shù)MPU_IIC_Wait_Ack()應答成功的話返回值應該是0,返回1肯定是應答失敗的情況才會執(zhí)行if{}里面的語句退出,并且返回1告訴調(diào)用的地方通信失敗
回復

使用道具 舉報

板凳
ID:59202 發(fā)表于 2024-9-7 22:31 | 只看該作者
你得把MPU_IIC_Stop函數(shù)發(fā)上來看看啊。不過據(jù)我的認識應該是主機釋放數(shù)據(jù)總線,把數(shù)據(jù)線拉高,這樣從機應答信號才能把數(shù)據(jù)線拉低,主機才能讀到正確的應答信號
回復

使用道具 舉報

地板
ID:141497 發(fā)表于 2024-9-7 22:32 | 只看該作者
沒有應答,就是出現(xiàn)了問題,停止總線,返錯誤代號1.
回復

使用道具 舉報

5#
ID:344848 發(fā)表于 2024-9-8 01:12 | 只看該作者
IIC屬于半雙工器件,任一時段主機只能和唯一指定的從機通訊。
回復

使用道具 舉報

6#
ID:607298 發(fā)表于 2024-9-9 09:00 | 只看該作者
這邊應該是沒有應答的邏輯控制。
回復

使用道具 舉報

7#
ID:722461 發(fā)表于 2024-9-10 10:08 | 只看該作者
看不太出來,需要抓波形吧
回復

使用道具 舉報

8#
ID:1073939 發(fā)表于 2024-11-22 13:52 | 只看該作者
注意:MPU_Write_Byte函數(shù)iic操作成功返回0,失敗返回1.
不管iic操作是否成功都要通過MPU_IIC_Stop函數(shù)釋放總線。
估計MPU_IIC_Wait_Ack函數(shù)的作用是100uS內(nèi)有應答返回0,無應答返回1.

樓主可能習慣把1看成成功,0看成失敗,才有疑問。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表