STM32使用温湿度DHT11基于HAL库开发

这篇具有很好参考价值的文章主要介绍了STM32使用温湿度DHT11基于HAL库开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC
测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够
实时的采集本地湿度和温度。DHT11 与单片机之间能采用简单的单总线进行通信,仅仅需要一
个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据一次性传给单片机,数据采用校验和方式
进行校验,有效的保证数据传输的准确性。DHT11 功耗很低,5V 电源电压下,工作平均最大
电流 0.5mA。

引脚定义:VCC-5V

                  GND-GND

                  OUT-PB9

相关步骤如下:

(1)打开CubeMX

STM32使用温湿度DHT11基于HAL库开发

 (2)选择芯片型号,这里本忍选择STM32F103C6T6芯片

STM32使用温湿度DHT11基于HAL库开发

(3)配置调试

STM32使用温湿度DHT11基于HAL库开发

(4)配置时钟

STM32使用温湿度DHT11基于HAL库开发(5)配置时钟树 

STM32使用温湿度DHT11基于HAL库开发

 (6)配置GPIO引脚PB9

STM32使用温湿度DHT11基于HAL库开发

(7)配置定时器

STM32使用温湿度DHT11基于HAL库开发

(8)配置串口

STM32使用温湿度DHT11基于HAL库开发

(9)给工程起个名,这里尽量不要使用中文字符

STM32使用温湿度DHT11基于HAL库开发(10) 这步是个人小习惯,可选可不选

STM32使用温湿度DHT11基于HAL库开发

(11) 生成工程

STM32使用温湿度DHT11基于HAL库开发

(12)打开工程

STM32使用温湿度DHT11基于HAL库开发

(12)建一个用户文件夹

STM32使用温湿度DHT11基于HAL库开发

(13)将原工程文件夹之下的User文件夹整个复制到新建立的文件下

STM32使用温湿度DHT11基于HAL库开发

 (14)打开main文件,引入include "stdio.h"头文件以及温湿度头文件

    #include "stdio.h"
    #include "dht11.h"

STM32使用温湿度DHT11基于HAL库开发

(15)导入驱动文件

STM32使用温湿度DHT11基于HAL库开发

(16)

STM32使用温湿度DHT11基于HAL库开发(17)

STM32使用温湿度DHT11基于HAL库开发

 (18)编写定时器代码

void delay_us(uint16_t us){
    uint16_t differ = 0xffff-us-5;                
    __HAL_TIM_SET_COUNTER(&htim3,differ);    //??TIM7??????
    HAL_TIM_Base_Start(&htim3);        //?????    
    
    while(differ < 0xffff-5){    //??
        differ = __HAL_TIM_GET_COUNTER(&htim3);        //?????????
    }
    HAL_TIM_Base_Stop(&htim3);
}

void Delay_us(uint16_t myus)//基于TIM3定时器的μs延时函数
{
    uint16_t differ = 0xffff-myus-5;                
    __HAL_TIM_SET_COUNTER(&htim3,differ);    //??TIM7??????
    HAL_TIM_Base_Start(&htim3);        //?????    
    
    while(differ < 0xffff-5){    //??
        differ = __HAL_TIM_GET_COUNTER(&htim3);        //?????????
    }
    HAL_TIM_Base_Stop(&htim3);
}

STM32使用温湿度DHT11基于HAL库开发

void delay_us(uint16_t us);
void Delay_us(uint16_t myus);

STM32使用温湿度DHT11基于HAL库开发

(19)重写printf

 int fputc(int ch,FILE *f)
{
    HAL_UART_Transmit(&huart1,(uint8_t *) &ch,1,HAL_MAX_DELAY);
    return ch;    
}
int fgetc(FILE *f)
{
    uint8_t ch;
    HAL_UART_Receive(&huart1,(uint8_t *)&ch,1,HAL_MAX_DELAY);
    return ch;
}

STM32使用温湿度DHT11基于HAL库开发

(20)黏贴相关执行代码

  uint16_t temperature;
  uint16_t humidity;

  while(DHT11_Init()){
    printf("DHT11 Checked failed!!!\r\n");
    HAL_Delay(500);
  }
  printf("DHT11 Checked Sucess!!!\r\n");
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
        DHT11_Read_Data(&temperature,&humidity);
        printf("DHT11 Temperature = %d.%d degree\r\n",temperature>>8,temperature&0xff);
      printf("DHT11 Humidity = %d.%d%%\r\n",humidity>>8,humidity&0xff);
        HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }

STM32使用温湿度DHT11基于HAL库开发

(21)最后一步

STM32使用温湿度DHT11基于HAL库开发(22)编译下载,找个串口助手就行了

STM32使用温湿度DHT11基于HAL库开发

链接:https://pan.baidu.com/s/1hMjIk4ucUJh3N5Znk3XiBQ?pwd=53k2 
提取码:53k2 
--来自百度网盘超级会员V2的分享

好的,自己下载昂,点个赞加个收藏啥的不过分吧。OK文章来源地址https://www.toymoban.com/news/detail-435177.html

到了这里,关于STM32使用温湿度DHT11基于HAL库开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32系列(HAL库)——F103C8T6获取DHT11温湿度串口打印

    在此特别鸣谢原文博主! (1)编程平台:Keil5 (2)CubeMX (3)XCOM(串口调试助手) (1)F1的板子,本例使用经典F103C8T6  (2)DHT11——温湿度传感器 (3)ST-link 下载器 (4)USB-TTL模块 (5)杜邦线若干 (1)芯片选择 STM32F103C8T6  (2)配置RCC、SYS、时钟树 配置RCC 配置SYS 配置时钟树 (3) 配置GPIO  (4)配置

    2023年04月08日
    浏览(42)
  • [教程]一文搞懂STM32使用DHT11采集温湿度

          DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件,并与一个高性能8位单片机相连接。

    2024年02月01日
    浏览(34)
  • 68、基于STM32单片机DHT11温湿度蓝牙控制报警器app系统设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、PCB图 六、程序源码 七、资料包括 温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、

    2024年02月08日
    浏览(48)
  • STM32+DHT11温湿度传感器

    DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次 通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数 部分用于以后扩展,现读出为零.操作流程如下: 一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据

    2023年04月13日
    浏览(38)
  • STM32--DHT11温湿度传感器

    本文介绍基于STM32F103实现的DHT11温湿度传感器数据采集及显示,完整代码见文末链接 一、DHT11传感器简介 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期

    2024年02月16日
    浏览(42)
  • STM32—DHT11温湿度传感器

    (1).下图一是DHT11总的时序图。 (2).图二对应图一的左边黑色部分,图三对应图一的绿色部分,图四的左部分图对应图一的红色部分,图四的右部分对应图一的黄色部分。 (3).首先图二部分是单片机向DHT11发送我要开始的信号,此时单片机IO口处于输出模式,输出低电平至少18MS,

    2024年02月19日
    浏览(44)
  • stm32读取DHT11温湿度传感器

    我们知道DHT11是单总线协议,只有一根数据线。 且内部有个上拉电路(下图)。那么数据线默认就是高电平那接下来就可以讲解主机如何和DHT11通讯的 读取DHT11的芯片手册,可以知道,DHT11一次完成的数据输出是40bit,高位先出。 格式:8bit湿度整数数据+8bit湿度小数数据 +8bi温

    2024年02月09日
    浏览(38)
  • stm32连接DHT11温湿度传感器

    目录 1. DHT11简介 1.1. 连接电路  1.2. 串行接口 (单线双向)  2. cubeMX设置 3. 代码开发  3.1. 实现定时函数 3.2. 打开串口调试 3.4. 测试代码实现 4. 运行效果 信息如下: 建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使 用合适的上拉电阻  DHT11的供电电压为 3-5

    2023年04月16日
    浏览(37)
  • STM32+DHT11采集温湿度传感器数据

            DHT11 是一款湿温度一体化的数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。通过单片机等微处理器简单的电路连接就能够 实时的采集本地湿度和温度。 DHT11 与单片机之间能采用简单的单总线进行通信,仅

    2024年02月07日
    浏览(35)
  • 86、基于STM32单片机的温湿度DHT11 MQ-2烟雾火灾报警器蓝牙物联网设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案                     二、设计功能 三、实物图 四、原理图 五、硬件框图 六、流程图 七、程序源码   八、资料包括 随着社会和经济的发展,防火工作越来越重要,但是目前国内的许多研发都侧重

    2024年02月06日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包