亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機24c02讀取問題 有幾句源代碼不理解

[復制鏈接]
跳轉到指定樓層
樓主
ID:289989 發表于 2018-4-8 17:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
uchar iicre_byte(void)  
{  
uchar i;
uchar dat;
scl=0;  
delay();  
sda=1;  
delay(); //////////???????????
     for(i=0;i<8;i++)  
     {  
        scl=1;  
        delay();  
        dat=dat<<1;  
        if(sda)  
       {  
        dat++;
       }  
        scl=0;  
       delay();  
      }  
return dat;
}




uchar read_byte()
{
                uchar i,k;


                for(i=0;i<8;i++)
                {
                scl=1;      
                k=(k<<1)|sda;   
                scl=0;
                }
                scl=0;
                sda=1;
                return k;
}
這兩個程序都可以完成讀取。第一個for前面加的scl,delay,sda,delay是什么意思?要不要不是都行嗎,求指點。

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

使用道具 舉報

沙發
ID:289989 發表于 2018-4-8 22:05 | 只看該作者
或者說按我的理解應該放在for語句后面~~~前后一樣?
回復

使用道具 舉報

板凳
ID:141497 發表于 2018-4-8 23:47 | 只看該作者
個人覺得,怎么寫代碼沒關系,只要能滿足I2C協議條件就行。
回復

使用道具 舉報

地板
ID:282439 發表于 2018-4-9 07:57 | 只看該作者
前面一個比較安全。后面一個與主頻相關。因為I2C協議對時間間隔是有要求的。
回復

使用道具 舉報

5#
ID:164602 發表于 2018-4-9 08:29 | 只看該作者
你將I2C通訊時序搞清楚了,這些語句及排列就可以搞明白了。
第一個程序,可能有程序員自己的習慣,編寫的程序留有余地——時鐘信號與數據信號間,留了反應時間。
第二個程序,有全盤考慮,在其它操作時,已經先確定了兩線的信號,所以這里不再設置。

可以這樣說:第一個程序移植性較好,第二段程序移植性不好。你可以在網上找找I2C的通用程序,那個移植性肯定非常好,對照一下,可以學到很多東西。
回復

使用道具 舉報

6#
ID:289989 發表于 2018-4-9 08:52 | 只看該作者
51jia 發表于 2018-4-8 23:47
個人覺得,怎么寫代碼沒關系,只要能滿足I2C協議條件就行。

我刪掉第九位sda的置高程序也沒有問題~干了,條件這么寬松嗎,還是我沒有真正理解?
回復

使用道具 舉報

7#
ID:304212 發表于 2018-4-9 10:01 | 只看該作者
嚴格按照時序來寫就沒錯
回復

使用道具 舉報

8#
ID:304266 發表于 2018-4-9 10:45 | 只看該作者
zh俄格問題有點難,研究研究
回復

使用道具 舉報

9#
ID:295343 發表于 2018-4-9 13:29 | 只看該作者
適當的短暫延時有助于系統穩定,適當重復操作可以提高系統的耐操性。高手寫的程序和新手寫的程序的差別。
回復

使用道具 舉報

10#
ID:289989 發表于 2018-4-9 14:19 | 只看該作者
HC6800-ES-V2.0 發表于 2018-4-9 08:29
你將I2C通訊時序搞清楚了,這些語句及排列就可以搞明白了。
第一個程序,可能有程序員自己的習慣,編寫的 ...

謝謝了。
我查了查,他們說第一個的那幾句是置數據線為輸入方式。最近有點忙,有時間在細細的查查
回復

使用道具 舉報

11#
ID:141497 發表于 2018-4-9 23:26 | 只看該作者
Yubug 發表于 2018-4-9 08:52
我刪掉第九位sda的置高程序也沒有問題~干了,條件這么寬松嗎,還是我沒有真正理解?

I2C協議只要時間大于4.7us就行。
回復

使用道具 舉報

12#
ID:304623 發表于 2018-4-10 16:55 | 只看該作者
這個學習的時候老師說得有5us的時延,有嚴格的時序,你可以看看時序圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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