DS2438读温度一直是同一值

[复制链接]
2235|3
 楼主| xzj1987125 发表于 2008-8-19 10:07 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;我读DS2438的时候读温度一直是同一个值&nbsp;23摄氏度。我有改变它周围的温度<br /><br />&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;a[8],i;<br /><br />&nbsp;&nbsp;&nbsp;Init_1_wire();<br />&nbsp;&nbsp;&nbsp;WriteOneChar(0xcc);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//跳过ROM<br />&nbsp;&nbsp;&nbsp;WriteOneChar(0x44);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//启动温度转换<br />&nbsp;&nbsp;&nbsp;delayms(10);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//温度转换需要10-20ms<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;Init_1_wire();<br />&nbsp;&nbsp;&nbsp;WriteOneChar(0xcc);<br />&nbsp;&nbsp;&nbsp;WriteOneChar(0xbe);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//读暂存器<br />&nbsp;&nbsp;&nbsp;WriteOneChar(0x00);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//暂存器的第0页<br />&nbsp;&nbsp;&nbsp;delay_1_wire(100);<br /><br />&nbsp;&nbsp;&nbsp;for(i=0;i&lt8;i++)<br />&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a=ReadOneChar();<br />&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;bz=a[2]&0x80;<br /><br />&nbsp;&nbsp;&nbsp;Tzs=a[2]&0x7f;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//整数<br />&nbsp;&nbsp;&nbsp;Txs=a[1]&gt&gt3;<br />&nbsp;&nbsp;&nbsp;Txs=Txs*0.03125*100;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//小数的高2位
hlln20100410 发表于 2015-4-10 14:48 | 显示全部楼层
楼主DS2438的问题解决了吗?我温度和电压都是正常的,但是电流的值不对。求教啊
beef~ 发表于 2015-11-10 10:52 | 显示全部楼层
hlln20100410 发表于 2015-4-10 14:48
楼主DS2438的问题解决了吗?我温度和电压都是正常的,但是电流的值不对。求教啊 ...

我也是同一个问题  请问你的硬件电路上待测电阻两端有电压么
NE5532 发表于 2015-11-13 16:40 | 显示全部楼层
7年前的帖子被挖出来了呀。楼上近期提问的,先找芯片内其他寄存器读,确认通讯口是畅通的,再做其他数据读取。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

150

主题

217

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部