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

標題: 關于IIC讀寫EEPROM程序,不太懂為什么要用到進借位sda=CY [打印本頁]

作者: NIMITIZ    時間: 2021-4-27 20:04
標題: 關于IIC讀寫EEPROM程序,不太懂為什么要用到進借位sda=CY
昨天獲得了一份實機能用的IIC讀寫EEPROM的源碼,在分析的過程中對于  “IIC的發送”  這一部分存在疑惑,思考&&搜索無果后想來請教大佬,如圖的紅圈所示:1.
sda=CY;
不太懂為什么要用到進借位CY

2.
scl=0;
delay();
sda=1;
delay();

這一部分的內容感覺應該像是主器件等待應答,但對SDA和SCL的設置有點懵

希望有大佬能指點迷津,非常感謝。

Snipaste_2021-04-27_19-49-44.png (71.41 KB, 下載次數: 56)

Snipaste_2021-04-27_19-49-44.png

作者: hhdsdy    時間: 2021-4-28 10:32
1:IIC的數據是從高位開始的,所以要用左移指令比較合適,而C語言的左移和右移指令,CY是參與其中的,左移指令中,移動一位,D7的內容就移給了CY,這就是為什么要用到CY的原因了,CY并不是只有進位和借位才會用到的。
2:器件時序的差異,一般IIC是需要一定的延時的,否則容易造成因來不及響應而出錯,這個可以看IIC器件的時序要求。至于SCL和SDA什么時候為0什么時候為1電平,這個就是IIC的規范了,按要求做就是了。
作者: 人人學會單片機    時間: 2021-4-28 12:42
可以參考我的貼子 DS3231的時序
作者: NIMITIZ    時間: 2021-5-5 20:21
hhdsdy 發表于 2021-4-28 10:32
1:IIC的數據是從高位開始的,所以要用左移指令比較合適,而C語言的左移和右移指令,CY是參與其中的,左移 ...

原來是這樣,我懂了,非常感謝大佬的解答
作者: NIMITIZ    時間: 2021-5-5 20:24
人人學會單片機 發表于 2021-4-28 12:42
可以參考我的貼子 DS3231的時序

好的,謝謝
作者: 楊天想    時間: 2021-5-14 09:52
hhdsdy 發表于 2021-4-28 10:32
1:IIC的數據是從高位開始的,所以要用左移指令比較合適,而C語言的左移和右移指令,CY是參與其中的,左移 ...

大佬那有的芯片不支持cy這個寫發怎么辦
作者: ZXWPL    時間: 2021-5-14 14:41
楊天想 發表于 2021-5-14 09:52
大佬那有的芯片不支持cy這個寫發怎么辦

反正就是讀temp的位而已?梢赃@樣啊
for(i=0x80;i>0;i>>=1)
{
        scl=0;
        delay();
        if(temp&i)
        {
                sda=1;
        }
        else
        {
                sda=0;
        }
        delay();
        scl=1;
        delay();

}

作者: 楊天想    時間: 2021-5-14 14:50
ZXWPL 發表于 2021-5-14 14:41
反正就是讀temp的位而已。可以這樣啊
for(i=0x80;i>0;i>>=1)
{

好的謝謝




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1