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())


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -