欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2438|回復: 2
打印 上一主題 下一主題
收起左側

關于I2C應答 while ((SDA==1)&&(i<255))i++;

[復制鏈接]
跳轉到指定樓層
樓主
ID:371120 發表于 2018-7-17 21:39 來自觸屏版 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
while ((SDA==1)&&(i<255))i++;
這句意思是:主器件收到應答會退出while;或者在一定時間內沒有收到應答會默認收到應答,也會退出while,反正主器件都是認為收到應答并且退出while,為什么不直接用一條delay延時函數?
I2C總線協議規定:每傳送1字節數據后,都要有一個應答信號,已確定數據傳送是否被對方收到。那要是對方沒有收到傳送的數據,沒有產生應答信號,程序會怎樣?
初學者  問題低級  不要笑話
  回答文字量大沒關系  謝謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:366559 發表于 2018-7-18 08:10 | 只看該作者
如果用delay,延時就是固定的,也無法知道有沒有應答這句代碼可以在收到應答后立即停止delay
如果立即應答,循環執行一兩次就跳出來了,正常運行就應該是這樣的
如果沒收到應答的話,可能會再發一遍吧,也有可能再發一遍的邏輯需要自己寫
回復

使用道具 舉報

板凳
ID:275111 發表于 2020-4-1 10:48 | 只看該作者
我翻了4本書至少,同樣的程序段,但本質上為什么這樣寫,都沒有注釋的。
回復

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

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