ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
* 导师视频讲解:[**去听课**](https://www.bilibili.com/video/BV1Cb4y1171H?p=16) >[success] **技术支持说明** > 1.**客服**提供简单的技术支持,一般自主学习为主 > 2.可到官方问答社区中提问:[**去提问**](https://bbs.csdn.net/forums/nb-iot) > 3.工程师**会尽快**解答社区问题,但他们是一线开发,【**难以保证**】解答时效,解答辛苦,感谢理解! <br/> >[danger] 本项目为课外学习内容,其内容较为复杂且有一定难度,因此:**未学习前面章节者**,**请止步**! <br/> ## **简介** DHT11温湿度传感器的简介请参考知乎文章:https://zhuanlan.zhihu.com/p/483408243 <br/> ## **DHT11温湿度传感器 API** 打开hal_dht11.h文件,可以看到DHT11的驱动API,代码如下: ``` //课外篇:项目实战/基于STM32+NB-IoT的温湿度采集/NB-SDK(V1.0.4)/Userspace/hal_dht11.h #ifndef HAL_DHT11_H #define HAL_DHT11_H #ifdef __cplusplus extern "C" { #endif /** @brief DHT11的Data引脚配置*/ #define HAL_DHT11_PORT GPIOA //!< PortA. #define HAL_DHT11_PIN GPIO_Pin_6 //!< Pin6. #define HAL_DHT11_CLOCK RCC_AHBPeriph_GPIOA /** @brief 用于表示DHT11温湿度数据 */ typedef struct { unsigned char ok;//ok的值非0时温湿度数据才有效 unsigned char temp; //温度值,取值范围:0~50 unsigned char humi; //湿度值,取值范围:20~95 } halDHT11Data_t; /** * @fn halDHT11Init * * @brief 初始化函数,使用DHT11前必须先调用此函数 */ void halDHT11Init(void); /** * @fn halDHT11GetData * * @brief 获取DHT11的温湿度数据 * * @return 温湿度数据值 */ halDHT11Data_t halDHT11GetData(void); #ifdef __cplusplus } #endif #endif /* #ifndef HAL_DHT11_H */ ``` ### ## 使用API DHT11的驱动API使用起来非常方便,只需按照一下3步使用即可。 (1)修改配置DHT11温湿度传感器Data引脚与STM32连接的IO口,代码如下: ``` /** @brief DHT11的Data引脚配置,此处配置STM32的PA6与DHT11的Data引脚连接,读者可修改为其他引脚*/ #define HAL_DHT11_PORT GPIOA //!< PortA. #define HAL_DHT11_PIN GPIO_Pin_6 //!< Pin6. #define HAL_DHT11_CLOCK RCC_AHBPeriph_GPIOA ``` ### (2)调用halDHT11Init()函数初始化DHT11。 (3)获取温湿度数据并判断是否成功,代码如下: ``` halDHT11Data_t data; data = halDHT11GetData(); if (data.ok) { // 获取成功,对温湿度数据进行处理 // 温度: data.temp // 湿度: data.humi } ``` <br/> <br/> ## **商务合作** 如有以下需求,可扫码添加管理员好友,注明“**商务合作**” * 项目定制开发,技术范围:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等; * 入驻平台,成为讲师; * 接项目赚外快; * 善学坊官网:[www.sxf-iot.com](https://www.sxf-iot.com/) ![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =150x) (非商务合作**勿扰**,此处**非**技术支持)