問題的現象:LCD1602可以顯示溫濕度,但是改變DHT11的值,LCD1602并不能改變數字,相當于只讀了一次,我的代碼是根據51單片機寫的,51都成功了我以為可以放在STM32(代碼用的是hal庫,然后的話是用cubeide寫的,不是標準庫)上,但是沒想到還會有錯誤,代碼中出現的printf()是利用串口來查看代碼有沒有卡在某個地方上。我現在所知道的卡死的函數是:void DHT11_receive()和unsigned char DHT11_rec_byte(),其他地方的話雖然都能打印出來但是都是過一陣子才打印過一陣子才打印。下面我會給出仿真圖和代碼,以及附上51的代碼(經仿真可以運行)供大佬對比一下我錯誤的STM32代碼。
原理圖部分:
7.png (36.74 KB, 下載次數: 29)
下載附件
2021-12-21 15:37 上傳
STM32(利用的是cubeide即hal庫)的代碼
8.png (56.52 KB, 下載次數: 25)
下載附件
2021-12-21 15:41 上傳
9.png (47.78 KB, 下載次數: 29)
下載附件
2021-12-21 15:41 上傳
10.png (63.89 KB, 下載次數: 23)
下載附件
2021-12-21 15:41 上傳
11.png (41.08 KB, 下載次數: 33)
下載附件
2021-12-21 15:41 上傳
12.png (70.74 KB, 下載次數: 19)
下載附件
2021-12-21 15:41 上傳
13.png (56.64 KB, 下載次數: 27)
下載附件
2021-12-21 15:41 上傳
14.png (66.82 KB, 下載次數: 41)
下載附件
2021-12-21 15:41 上傳
15.png (28.05 KB, 下載次數: 31)
下載附件
2021-12-21 15:41 上傳
16.png (42.05 KB, 下載次數: 28)
下載附件
2021-12-21 15:41 上傳
17.png (40.35 KB, 下載次數: 23)
下載附件
2021-12-21 15:41 上傳
18.png (61.72 KB, 下載次數: 36)
下載附件
2021-12-21 15:41 上傳
19.png (53.9 KB, 下載次數: 25)
下載附件
2021-12-21 15:41 上傳
cubeide的配置
20.png (146 KB, 下載次數: 26)
下載附件
2021-12-21 15:42 上傳
51的代碼
21.png (126.74 KB, 下載次數: 38)
下載附件
2021-12-21 15:44 上傳
22.png (91.86 KB, 下載次數: 36)
下載附件
2021-12-21 15:44 上傳
23.png (98.74 KB, 下載次數: 30)
下載附件
2021-12-21 15:44 上傳
24.png (54.58 KB, 下載次數: 43)
下載附件
2021-12-21 15:44 上傳
25.png (77.18 KB, 下載次數: 28)
下載附件
2021-12-21 15:44 上傳
26.png (153.7 KB, 下載次數: 27)
下載附件
2021-12-21 15:44 上傳
27.png (65.61 KB, 下載次數: 37)
下載附件
2021-12-21 15:44 上傳
28.png (76.67 KB, 下載次數: 36)
下載附件
2021-12-21 15:44 上傳
我會把51和32的壓縮包一起發過來
1602.rar
(73.03 KB, 下載次數: 32)
2021-12-21 15:46 上傳
點擊文件名下載附件
里面有仿真圖但程序寫的雜
DTH11.rar
(33.72 KB, 下載次數: 17)
2021-12-21 15:46 上傳
點擊文件名下載附件
無仿真,但是程序是模塊化了一下
temperatureandhumidity.7z
(1 MB, 下載次數: 29)
2021-12-21 23:48 上傳
點擊文件名下載附件
32的代碼和仿真圖
|