maix dock+18B20 长时间工作后就一直读4096
2021-04-114040
AI 快速预览详细
本文讨论了使用Maix Dock和DS18B20温度传感器时遇到的一个常见问题:长时间工作后读值卡在4096.73。通过详细分析代码和传感器的工作原理,文章提出了一个有效的解决方案:在每次读取温度前重置并重新初始化传感器。这种方法可以确保传感器在长时间工作中的数据准确性,避免了频繁的故障排查。
|
问题:工作半小时内没有问题,时间超出半小时后读值就卡在4095.73....了 就很迷惑... from fpioa_manager import * from modules import onewire from board import board_info import time fm.register(14, fm.fpioa.GPIOHS2, force=True) ds18b20=onewire(fm.fpioa.GPIOHS2) def get_temp(): ds18b20.reset() ds18b20.writebyte(0xcc) ds18b20.writebyte(0x44) ds18b20.reset() ds18b20.writebyte(0xcc) ds18b20.writebyte(0xbe) tplsb=ds18b20.readbyte() tpmsb=ds18b20.readbyte() s_tem = tpmsb<<8; s_tem = s_tem | tplsb; if( s_tem < 0 ): f_tem = (~s_tem+1) * 0.0625; else: f_tem = (s_tem * 0.0625); return f_tem while(True): print(get_temp()) |




