Dht11与Ds18b20温度传感器使用

使用MCU,STM32F103C8T6+OLED显示,板子自己手焊的。

说说使用感想DS18B20不愧是大厂的传感器,功能丰富,但使用起来确实有点麻烦。

DHT11应该就是国产模仿的吧,功能简单,没有唯一标识码,没有RAM,没有报警等等功能。

对照手册编写逻辑代码问题不大,关键就是STM32 HAL库里面us延时的问题,我用的是模仿在hal_rcc.c里面的一个函数

/**
  * @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,延时有误差,但也算能将就用。其中肯定有更好的办法,以后再看吧。

其实没什么难的,都可以自己根据手册,将代码敲出来,这个链接写的DS18B20,特别值得参考:

http://bbs.elecfans.com/jishu_920279_1_1.html

代码也很规范。


最后上个图,我的成品。


Dht11与Ds18b20温度传感器使用_第1张图片





你可能感兴趣的:(C,STM32,LCD驱动学习,stm32,温度)