找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 4729|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

關(guān)于單片機(jī)IIC總線模擬起始和終止信號(hào)的問題!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:404479 發(fā)表于 2018-11-30 14:03 來自觸屏版 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我搞不懂,模擬終止信號(hào)為什么SCL時(shí)鐘線電平為什么要拉低,按道理來說,模擬起始信號(hào)和終止信號(hào)都是時(shí)鐘線電平處于高電平狀態(tài),然后變幻的是數(shù)據(jù)線sda,起始是由高到低,終止是由低到高過程中,不是說時(shí)鐘信號(hào)都保持高電平嗎?如圖,為什么模擬終止信號(hào)時(shí),需要將時(shí)鐘電平拉低,要知道,模擬起始和終止信號(hào)時(shí),無論時(shí)鐘線的電平是高還是低,數(shù)據(jù)線的電平都可以任意變化的!起始信號(hào)我能理解,我就搞不懂為什么偏偏模擬終止信號(hào),要去將時(shí)鐘電平拉低在拉高,我不管時(shí)鐘電平可以嗎?比如我這樣:

單片機(jī)源程序:

void  aaa()
{
     SCL=1;     //首先時(shí)鐘為高電平狀態(tài)下
     SDA=0;    //終止信號(hào)先低后高
     delay(200);  //低電平延時(shí)5us
     SDA=1;       //終止信號(hào)先低后高
     delay(200);   //高電平延時(shí)5us
}

     

      

Screenshot_20181130-035009.png (78.46 KB, 下載次數(shù): 75)

Screenshot_20181130-035009.png

Screenshot_20181130-035029.png (111.27 KB, 下載次數(shù): 77)

Screenshot_20181130-035029.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:401564 發(fā)表于 2018-11-30 17:28 | 只看該作者
IIC有嚴(yán)格的時(shí)序的,也就是說,你得照著人家的協(xié)議一步一步的來,那么問題來了:為什么要先拉低時(shí)鐘線呢?
如果你不管它,你就不知道剛才時(shí)鐘線是什么狀態(tài)的,如果是高電平呢?那么你SDA在時(shí)鐘線為高的時(shí)候,產(chǎn)生的所有變化都會(huì)被視為起始或者停止信號(hào),明白了沒有?
邏輯關(guān)系這種東西是死的,是怎么樣就怎么樣,所以,一定要確定狀態(tài)。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表