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;
    }

  • 相关阅读:
    Python基本命名规范
    复制当前文件夹下所有文件的名称
    Java中返回类型方法名
    BugFree 测试管理系统
    jmeter+badboy免费测试
    Linux的命令
    C语言
    linux基础知识点以及安装
    JMeter安装教程
    linux 操作命令
  • 原文地址:https://www.cnblogs.com/gaotaozhaolei/p/7873432.html
Copyright © 2011-2022 走看看