ReadOneChar(void) {unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i--) { DQ = 0; // 给脉冲信号 dat>>=1; DQ = 1; // 给脉冲信号 if(DQ) dat|=0x80; delay(4);} return(dat);} 1。 是不是就在DQ = 0的时候将18B20的一位送出来 在DQ = 1的时候 单片机读这一位 2。 dat|=0x80 那么在18B20 送出的这个字节的最高位时 就不能清楚地知道他到底送出是 1还是0 了啊 望指教
|