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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3355|回復: 8
收起左側(cè)

單片機+DS18B20的初始化的問題?

[復制鏈接]
ID:511168 發(fā)表于 2020-2-28 16:24 | 顯示全部樓層 |閱讀模式
關(guān)于DS18B20的初始化,這么寫就能初始化成功(其他函數(shù)的時序都沒毛病,芯片:STC89C52)!
bit Initialization(void)    //函數(shù)初始
{
    uint test1=0;
    DQ = 0;
    test1=103;while(test1>0)test1--;
    DQ = 1;
    for(test1=0;test1<4;test1++);  //等待15-60us
    for(test1=0;test1<12;test1++); //信號拉低60-240us
    if(DQ) return 1;   //DS18B20準備好
    else   return 0;   //DS18B20沒有準備好
}

但是我為了節(jié)省空間,把“uint test1=0;”改成“uchar test1=0;”的話,初始化就失敗了。
我想知道為什么uchar test1=0;就不行。
回復

使用道具 舉報

ID:511168 發(fā)表于 2020-2-28 16:38 | 顯示全部樓層
補充一下:上邊的初始化程序是用11.0592MHz晶振
回復

使用道具 舉報

ID:699551 發(fā)表于 2020-2-28 17:16 | 顯示全部樓層
uint 是16位元
uchar  是8位元
所以程式執(zhí)行時間不同, uchar 執(zhí)行時間會短一些, 應(yīng)該要將delay count 加長
建議程式更改如下,

bit Initialization(void)    //函數(shù)初始
{
    uint test1=0;
    DQ = 0;
    test1=103;while(test1>0)test1--;
    DQ = 1;
    for(test1=0;test1<12;test1++);  //等待15-60us
    for(test1=0;test1<36;test1++); //信號拉低60-240us
    if(DQ) return 1;   //DS18B20準備好
    else   return 0;   //DS18B20沒有準備好
}
回復

使用道具 舉報

ID:213173 發(fā)表于 2020-2-28 17:38 | 顯示全部樓層
CPU處理不同數(shù)據(jù)類型的數(shù)據(jù)所耗時間不同,樓主在這里把uint test1=0;改成uchar test1=0;,那么for循環(huán)延時時間只有原來時間的1/4,時序就錯亂套了。
回復

使用道具 舉報

ID:462827 發(fā)表于 2020-2-29 00:48 | 顯示全部樓層
用循環(huán)來延時,循環(huán)變量是8位還是16位的數(shù)據(jù)變量,所耗的時間是不一樣的!
回復

使用道具 舉報

ID:511168 發(fā)表于 2020-2-29 16:03 | 顯示全部樓層
好的,謝謝明白了
回復

使用道具 舉報

ID:700218 發(fā)表于 2020-2-29 17:26 | 顯示全部樓層
一個整型數(shù)據(jù),一個是字符型數(shù)據(jù),字符型的A是數(shù)字是65,兩者的處理時間不一樣
回復

使用道具 舉報

ID:400250 發(fā)表于 2020-2-29 18:02 | 顯示全部樓層
uchar是無符號字符整數(shù),8比特,最大到十位數(shù)字的255;uint是無符號整數(shù),16比特,最大到65535。
一般數(shù)字比較小的就用uchar,節(jié)省空間。
回復

使用道具 舉報

ID:159575 發(fā)表于 2020-2-29 18:08 來自觸屏版 | 顯示全部樓層
加長延時就好了
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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