![]() |
發布時間: 2023-3-21 17:03
正文摘要:通過8h8單片機獲取ds18b20原始數據分為低8位和高8位,后通過串口3高低位數據發送到上位機顯示,不知道是哪里程序出現了問題,上位機顯示只有一個8位數據而且一直都是0xff不變動,一開始是以為是ds18b2的讀寫程序出現 ... |
LUREN1 發表于 2023-3-22 09:03 網上18b20十個九個壞,用那種帶線的質量好,我就是用帶線的后才知道原來的18B20是壞的 |
wuyimin456 發表于 2023-3-21 23:30 我遇到的問題和你差不多,有應答但返回數據錯誤,因為我更換過兩個數據都是這樣,所以才覺得會不會是程序問題導致的 |
Hephaestus 發表于 2023-3-21 19:11 這個問題確實沒有想到,其實這個程序還有一個問題就是:我發送的是兩個8位數據,但上位機一次只顯示出一個8位,根據你的建議加延時后,確實解決這個問題,但是排除串口,通過debug硬件仿真查看變量發現兩個變量也都是ffC:\Users\dell\Desktop\360截圖20230322085316936.jpg |
我遇到過ds18b20壞的,應答都有但讀不出數據,后來換了一個才發現這個問題 |
如果第一個數據不是ff的話,應該是119行寫的太草率了,118行給SBUF賦值不意味著發送已經完成,9600bps這么低的波特率給SBUF賦值后1ms發送才會完成,而單片機可以執行幾千條指令。 |