藍橋杯嵌入式擴展板模塊之溫溼度傳感器
DHT11模塊介紹
這個DHT11模塊的驅動比賽的時候是提供的,但是你要明白它返回的數據是怎麼去使用的。
DHT11驅動函數講解
由上圖可以看出,我們得到的數據是40位的,並且後8位是校驗位,所以也驗證了dht11_read()函數的最後一行,要先右移8位再輸出。那麼我們得到數據只有要做的就是把數據提取出來就可以了。
x1= dht11_read();
sprintf((char*)str,"The Y Val:%3d",x1>>24);
LCD_DisplayStringLine(Line2,str);
sprintf((char*)str,"The Z Val:%3d",(x1>>8)&0xff);
LCD_DisplayStringLine(Line4,str);
Delay_Ms(2000);//採樣時間必須大於2S,纔可以採集到的真實數據。
我們只需要採集它的整數部分就可了,它小數部分其實完全可以忽略的。順便一提的是它每採集一次,最好延時2S以上爲的就是保證你每次每次顯示的的數據都是真正實時採集的。