zoukankan      html  css  js  c++  java
  • DS18B20读数错误排除

    描述:

    同时测试了好几个板子,都接了DS18B20传感器。但,有的板子读取的DS18B20温度值正确,有的读取错误。

    原因查找:

    以为是有的传感器坏了,但测试后发现并不是。

    又以为是DS18B20需要的启动时间长,因此在给DS18B20芯片供电好长一段时间后,才启动采集程序,但结果还是错误。

    但在找问题的过程中,发现调试时的暂停会导致读出正确的DS18B20结果。

    因此,怀疑是延时的问题。

    解决:

    所以在程序中连续读取10次DS18B20数据,并把数据打印出来查看,结果发现:前几次读取的结果是错误的,之后读取的结果就都是对的。

    虽然解决了,但并没有找到根源,不求甚解吧。

    在此,也记录下之前的一个针对错误的处理语句(已经看不明白当时为何要这么处理了,但感觉该处理目前似乎用不上了,因此删除掉了)

    if ((fabs(g_fSoilTemp - 85) > 1) && (fabs(g_fSoilTemp - 127.9) > 1))
    {
    break;
    }

  • 相关阅读:
    K8S-安全机制
    K8S-Service
    K8S-Pod资源管理
    K8S-kubelet启动过程
    每日进度
    每日进度
    每日进度
    每日进度
    每日进度
    归纳及计划
  • 原文地址:https://www.cnblogs.com/gaotaozhaolei/p/7873432.html
Copyright © 2011-2022 走看看