温度传感器为什么释放总线才能读取温度?程序如下

2019-03-24 19:25发布

/*读一个字节函数*/ uchar ds18b20_read_byte() { uchar i,value; for(i=0;i<8;i++) { dq=0; // 给低电平过几个微秒之后就采样 value>>=1; dq=1; //为什么必须释放总线才能采样??? if(dq) value=value|0x80; //由于是从最低位开始读,所以向后移位 delay1us(5); } return value; }                                     还有就是如果令dq=1,那么下面if(dq) 不是一定会成立了么? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。