uint 是16位元
uchar 是8位元
所以程式執行時間不同, uchar 執行時間會短一些, 應該要將delay count 加長
建議程式更改如下,
bit Initialization(void) //函数初始
{
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没有准备好
}
|