使用MCU,STM32F103C8T6+OLED顯示,板子自己手焊的。
說說使用感想DS18B20不愧是大廠的傳感器,功能豐富,但使用起來確實有點麻煩。
DHT11應該就是國產(chǎn)模仿的吧,功能簡單,沒有唯一標識碼,沒有RAM,沒有報警等等功能。
對照手冊編寫邏輯代碼問題不大,關鍵就是STM32 HAL庫里面us延時的問題,我用的是模仿在hal_rcc.c里面的一個函數(shù)
/**
* @brief This function provides delay (in milliseconds) based on CPU cycles method.
* @param mdelay: specifies the delay time length, in milliseconds.
* @retval None
*/
static void RCC_Delay(uint32_t mdelay)
{
__IO uint32_t Delay = mdelay * (SystemCoreClock / 8U / 1000U);
do
{
__NOP();
}
while (Delay --);
}
把1000改成1000000,延時有誤差,但也算能將就用。其中肯定有更好的辦法,以后再看吧。
其實沒什么難的,都可以自己根據(jù)手冊,將代碼敲出來,這個鏈接寫的DS18B20,特別值得參考:
http://bbs.elecfans.com/jishu_920279_1_1.html
代碼也很規(guī)范。
最后上個圖,我的成品。
關鍵字:Dht11 Ds18b20 溫度傳感器
編輯:什么魚 引用地址:http://www.eeworld.com.cn/mcu/2019/ic-news040843712.html