ds18b20读温度代码,其中方法 Read18B20(void)是怎么读到数据的,不明白,求解释,越详细越好。
unsignedcharRead18B20(void){unsignedcharch;unsignedcharq;for(q=0;q<8;q++){ch=ch>>1;DQ...
unsigned char Read18B20(void){ unsigned char ch;
unsigned char q ;
for(q=0;q<8;q++)
{ch=ch>>1;
DQ="0";
_nop_();
DQ="1";
_nop_();_nop_();_nop_();_nop_();
if(DQ==1)
{ch="ch|0x80";}
else {ch="ch"&0x7f;}
Delay15(3);
DQ="1";
}
return (ch);
}
尤其返回值ch为什么这样处理,它是什么数据? 展开
unsigned char q ;
for(q=0;q<8;q++)
{ch=ch>>1;
DQ="0";
_nop_();
DQ="1";
_nop_();_nop_();_nop_();_nop_();
if(DQ==1)
{ch="ch|0x80";}
else {ch="ch"&0x7f;}
Delay15(3);
DQ="1";
}
return (ch);
}
尤其返回值ch为什么这样处理,它是什么数据? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询