DS18B20放在定时器中读取不了温度
时间: 2023-08-17 11:04:39 浏览: 62
DS18B20读取系列号程序(有了他就能温度多点测试咯)
4星 · 用户满意度95%
如果你将DS18B20的读取代码放在定时器中读取温度,可能会因为读取温度的时间过长,从而导致定时器中断服务函数不能及时响应,影响系统的稳定性。
为了避免这种情况,可以使用定时器来触发读取操作,但是读取操作需要放在主程序中进行,而不是在定时器中断服务函数中进行。具体实现方法是,在定时器中断服务函数中设置一个标志位,表示需要进行读取操作,然后在主程序中使用轮询或者状态机的方式检测这个标志位,如果检测到标志位被设置,就进行读取操作并清除标志位。
需要注意的是,在主程序中进行读取操作时,要确保读取的时间不会影响系统的其他操作,否则可能会出现系统卡死等问题。另外,为了提高读取的准确性,还需要对读取的数据进行处理,比如进行滤波、校准等操作,以确保读取到的温度值准确可靠。
阅读全文