我读DS2438的时候读温度一直是同一个值 23摄氏度。我有改变它周围的温度<br /><br /> unsigned char a[8],i;<br /><br /> Init_1_wire();<br /> WriteOneChar(0xcc); //跳过ROM<br /> WriteOneChar(0x44); //启动温度转换<br /> delayms(10); //温度转换需要10-20ms<br /> <br /> Init_1_wire();<br /> WriteOneChar(0xcc);<br /> WriteOneChar(0xbe); //读暂存器<br /> WriteOneChar(0x00); //暂存器的第0页<br /> delay_1_wire(100);<br /><br /> for(i=0;i<8;i++)<br /> {<br /> a=ReadOneChar();<br /> }<br /><br /> bz=a[2]&0x80;<br /><br /> Tzs=a[2]&0x7f; //整数<br /> Txs=a[1]>>3;<br /> Txs=Txs*0.03125*100; //小数的高2位 |
|