温度到45度左右的时候输出(前两字节)就一下子全变成FF了,是我的18b20 有问题?我跟同学借了一个来看也是这样,开头还以为是到温度上限了 :) 我先在液晶屏的显示里发现错误,后来把程序改成了下面那样然后用示波器看波形发现输出有问题了,(这时候正常时候读出的数据应该都是对应while(1) 前那次启动的同一个值吧)。用电烙铁去碰18b20,输出就很快变成全FF了,等一会它又变为原来的波形... 45度以下输出是正常的,借来的这个也这样,说明没坏,难道我们都买着假货了? 看也不像假货啊! 难到我的程序哪块错了?不会吧...
/**主程序**/ void main(void) { ... start_ds18b20(); //启动ds18b20温度测量 while(1) { rd_ds18b20(); //读温度值 } }
几天+一宿=一栋楼 等待入住者,免费:) |