关于ds18b20 TH TL 报警温度设定 响应问题 50
我设定的最高温度是30°(已设置就不给代码了,如果感觉我设置错了请指出我会附上代码),通过下面命令是否可以在温度超过30°时读到值?ds_init();//18b20初始...
我设定的最高温度是30°(已设置 就不给代码了,如果感觉我设置错了 请指出 我会附上代码),通过下面命令是否可以在温度超过30°时读到值?
ds_init(); //18b20初始化
w_data(skip_rom);//跳过rom匹配0xcc
w_data(convert_t);//转换温度指令0x44
ds_init();
w_data(alarm_rom);//监测警报指令0xec
w_data(read_scratchpad);//读暂存器0xbe
temper_l=r_data();//温度低位
temper_h=r_data();温度高位
我读到的是0,能保证初始化等命令有效。不知思路有没有错?如果错了 请给指条明路。 展开
ds_init(); //18b20初始化
w_data(skip_rom);//跳过rom匹配0xcc
w_data(convert_t);//转换温度指令0x44
ds_init();
w_data(alarm_rom);//监测警报指令0xec
w_data(read_scratchpad);//读暂存器0xbe
temper_l=r_data();//温度低位
temper_h=r_data();温度高位
我读到的是0,能保证初始化等命令有效。不知思路有没有错?如果错了 请给指条明路。 展开
3个回答
展开全部
ds_init();初始化这条命令是清除所有寄存器的值,包括TH和TL的设定值。设定其TH和TL温度戒限的值以及要把值保存于EEPROM中。要不然的话,你肯定会出错了。就像你给也的代码我并没有看到Copy Scratchpad (0x48)以及Recall EEPROM(0xb8)这两条命令了。如果想要让人帮你解决好,就给出你的完整代码了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
全测科技
2024-12-19 广告
2024-12-19 广告
SMW200A是罗德与施瓦茨生产的一款高性能矢量信号发生器,频率范围高达67 GHz(双通道最高44 GHz),具备2 GHz的调制带宽和高达800 MHz的集成式衰落带宽,支持8x8 MIMO。其内部基带能满足第四代标准(如LTE-Adv...
点击进入详情页
本回答由全测科技提供
展开全部
用示波器看你发送的数据是不是对的,然后看接受的数据有没有,有的话,再通过示波器人工看它发回来的数据是什么。如果没有数据的话,那你初始化的值根本没被接受。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-01
展开全部
先正确读取温度显示正确再加其他功能 温度上限下限都是可以实现的 都做过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询