DS18B20读数错误排除
生活随笔
收集整理的這篇文章主要介紹了
DS18B20读数错误排除
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述:
同時測試了好幾個板子,都接了DS18B20傳感器。但,有的板子讀取的DS18B20溫度值正確,有的讀取錯誤。
原因查找:
以為是有的傳感器壞了,但測試后發現并不是。
又以為是DS18B20需要的啟動時間長,因此在給DS18B20芯片供電好長一段時間后,才啟動采集程序,但結果還是錯誤。
但在找問題的過程中,發現調試時的暫停會導致讀出正確的DS18B20結果。
因此,懷疑是延時的問題。
解決:
所以在程序中連續讀取10次DS18B20數據,并把數據打印出來查看,結果發現:前幾次讀取的結果是錯誤的,之后讀取的結果就都是對的。
雖然解決了,但并沒有找到根源,不求甚解吧。
?
在此,也記錄下之前的一個針對錯誤的處理語句(已經看不明白當時為何要這么處理了,但感覺該處理目前似乎用不上了,因此刪除掉了)
if ((fabs(g_fSoilTemp - 85) > 1) && (fabs(g_fSoilTemp - 127.9) > 1))
{
break;
}
轉載于:https://www.cnblogs.com/gaotaozhaolei/p/7873432.html
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的DS18B20读数错误排除的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyhton3 os模块
- 下一篇: 存储过程Procedure