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

標題: 求助單片機DS18B20程序一個簡單小問題,就是下文中這個200是根據什么來的 [打印本頁]

作者: 大家一起變好玩    時間: 2020-7-8 17:02
標題: 求助單片機DS18B20程序一個簡單小問題,就是下文中這個200是根據什么來的
u8 DS18B20_Check(void)            
{   
        u8 retry=0;
        DS18B20_IO_IN();//IO口配置為輸入,目的是為了接收DS18B20發過來的數據         
    while (DS18B20_DQ_IN&&retry<200)//如果IO口是低電平,則是正常的,否則一直進while循環
        {
                retry++;
                delay_us(1);
        };         
        if(retry>=200)
        {//通訊有誤,返回1
                return 1;
        }
        else
        {//正常
                retry=0;
        }
    while (!DS18B20_DQ_IN&&retry<240)//繼續讀取電平,如果IO口是高電平,則是正常的
        {
                retry++;
                delay_us(1);
        };
        if(retry>=240)
        {//通訊有誤,返回1
                return 1;
        }            
        return 0;//通訊正常,返回0
}


作者: man1234567    時間: 2020-7-9 10:05
應該是根據手冊時序來的經驗值,時間太長會影響其他事務,時間太短難達目標。
作者: 小黑的大表舅    時間: 2020-7-9 11:55
應該是數據手冊中的一個經過測試得來的數值
作者: wulin    時間: 2020-7-9 12:49
此200是延時等待時間的經驗數據,多一點少一點無所謂,差多了就會量變轉質變。
作者: lwh999995    時間: 2020-7-9 12:52
只能說是個人測試之后的經驗值,可能你的環境也不合適,需要微調
作者: f556    時間: 2020-7-9 16:37
200是判斷正常狀態DS拉低DQ最大時間,200us多。一般幾十us就返回應答信號。
作者: wjianing    時間: 2020-7-9 16:55
等待IO口拉低的一個超時處理吧,不一定200,理論上這個值只要大于正常響應的最大延遲就好了,保險起見留一些余量。等待太長也不合適,影響效率。假如你去約會被放了鴿子,那可能你等上三天三夜也沒用,還耽誤正常的吃飯睡覺
作者: 大家一起變好玩    時間: 2020-7-9 17:48
wjianing 發表于 2020-7-9 16:55
等待IO口拉低的一個超時處理吧,不一定200,理論上這個值只要大于正常響應的最大延遲就好了,保險起見留一 ...

啊哈,知道了,謝謝




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