DHT11温湿度传感器
DHT11简介本文本质为学习笔记在B站学习后的代码总结数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器一次通讯时间 4ms 左右,一次完整的数据传输为 40bit高位先出数据分小数部分和整数部分bytel0为校验位。工作电压范围 3.3V-5.5V工作电流 平均 0.5mA输出单总线数字信号测量范围湿度 20~90RH温度 0~50℃精度 湿度±5%温度±2℃分辨率 湿度 1%温度 1℃时序图myDHT11.h代码#ifndef __MYDHT11_H_ #define __MYDHT11_H_ void myDHT11_putinit(void);//输入模式 void myDHT11_getinit(void);//输出模式 unsigned char myDHT11_readbyte(void);//读取8位字节 unsigned char myDHT11_getdata(unsigned char *wen_H,unsigned char *wen_L,unsigned char *shi_H,unsigned char *shi_L);//读取温湿度高低8位传入为指针读取温湿度时主要使用这个函数 #endifmyDHT11.c代码#include stm32f10x.h #include myDHT11.h #include delay.h//这个库相信你应该有的如果没有自己写一下也不难 /**************************只需更改下面参数即可移植*******************************/ #define myDHT11_RCC RCC_APB2Periph_GPIOA //时钟线选择 #define myDHT11_GPIO GPIOA //GPIO组选择 #define myDHT11_Pin GPIO_Pin_0 //引脚号 /**************************************************************************/ void myDHT11_putinit()//输入模式 { RCC_APB2PeriphClockCmd(myDHT11_RCC,ENABLE);//开启GPIOA时钟 GPIO_InitTypeDef GPIO_initstructure; GPIO_initstructure.GPIO_ModeGPIO_Mode_Out_OD;//推挽输出模式 GPIO_initstructure.GPIO_PinmyDHT11_Pin;//选择引脚号为PA0 GPIO_initstructure.GPIO_SpeedGPIO_Speed_50MHz;//输入速率 GPIO_Init(myDHT11_GPIO,GPIO_initstructure); } void myDHT11_getinit()//输出模式 { RCC_APB2PeriphClockCmd(myDHT11_RCC,ENABLE);//开启GPIOA时钟 GPIO_InitTypeDef GPIO_initstructure; GPIO_initstructure.GPIO_ModeGPIO_Mode_IN_FLOATING;//浮空输入模式 GPIO_initstructure.GPIO_PinmyDHT11_Pin;//选择引脚号为PA0 GPIO_initstructure.GPIO_SpeedGPIO_Speed_50MHz;//输入速率 GPIO_Init(myDHT11_GPIO,GPIO_initstructure); } unsigned char myDHT11_readbyte()//读取8位字节 { unsigned char retry0,i,temp,data0; for(i0;i8;i) { while(GPIO_ReadInputDataBit(myDHT11_GPIO,myDHT11_Pin)0 retry100) { Delay_us(1); retry; } retry0; Delay_us(30); temp0; if(GPIO_ReadInputDataBit(myDHT11_GPIO,myDHT11_Pin)1)temp1; while(GPIO_ReadInputDataBit(myDHT11_GPIO,myDHT11_Pin)1 retry100) { Delay_us(1); retry; } retry0; data1; data |temp; } return data; } unsigned char myDHT11_getdata(unsigned char *wen_H,unsigned char *wen_L,unsigned char *shi_H,unsigned char *shi_L)//读取温湿度高低8位传入为指针 { unsigned char i,retry0,sum0; unsigned char arr[5]; myDHT11_putinit(); GPIO_ResetBits(myDHT11_GPIO,myDHT11_Pin); Delay_ms(20);//18 30 GPIO_SetBits(myDHT11_GPIO,myDHT11_Pin); Delay_us(13);//10 20 myDHT11_getinit(); Delay_us(20); if(GPIO_ReadInputDataBit(myDHT11_GPIO,myDHT11_Pin)0) { while(GPIO_ReadInputDataBit(myDHT11_GPIO,myDHT11_Pin)0 retry100) { Delay_us(1); retry; } retry0; while(GPIO_ReadInputDataBit(myDHT11_GPIO,myDHT11_Pin)1 retry100) { Delay_us(1); retry; } retry0; for(i0;i5;i) { arr[i]myDHT11_readbyte(); } Delay_us(50); } sumarr[0]arr[1]arr[2]arr[3]; *shi_Harr[0]; *shi_Larr[1]; *wen_Harr[2]; *wen_Larr[3]; if(sumarr[4]) return 1;//校验正确返回1 else return 0;//校验错误返回0 }main.c代码#include stm32f10x.h #include OLED.h #include DHT11.h int main() { unsigned char wen_H,wen_L,shi_H,shi_L;//用于接收温湿度数据 OLED_Init(); while(1) { if(myDHT11_getdata(wen_H,wen_L,shi_H,shi_L)1)//温湿度校验,返回值为1则校验正确 { OLED_ShowNum(1, 6, wen_H, 2);//显示所读取的温度数值 OLED_ShowNum(2, 6, shi_H, 2);//显示所读取的湿度数值 } OLED_ShowChinese(1,1,0);//温 OLED_ShowChinese(1,2,1);//度 OLED_ShowChar(1, 5, :); OLED_ShowChinese(1,5,4);//℃ OLED_ShowChinese(2,1,2);//湿 OLED_ShowChinese(2,2,1);//度 OLED_ShowChar(2, 5, :); OLED_ShowChar(2, 8, %); } }

相关新闻

3步完成输入法词库迁移:深蓝词库转换工具让数据迁移变得如此简单

3步完成输入法词库迁移:深蓝词库转换工具让数据迁移变得如此简单

3步完成输入法词库迁移:深蓝词库转换工具让数据迁移变得如此简单 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾经因为更换输入法而烦恼&#x…

2026/7/30 17:15:41阅读更多 →
OpenHarmony应用开发——更改应用名称和图标--开源鸿蒙-物联网上位机软件开发

OpenHarmony应用开发——更改应用名称和图标--开源鸿蒙-物联网上位机软件开发

目录 一、前言 二、步骤概述 三、详细步骤 3.1 打开配置文件 3.2 更改应用名称 3.2.1 语言种类 3.2.2 中文名称修改 3.2.3 运行测试 3.3 更改应用图标 3.4 重新编译并运行应用 3.4.1 清理项目 3.4.2 重新编译项目 3.4.3 运行应用 3.4.4 查看效果 四、注意事项 …

2026/7/30 17:15:41阅读更多 →
Adrenaline PSP模拟器固件:让PS Vita变身完美PSP游戏机的终极解决方案

Adrenaline PSP模拟器固件:让PS Vita变身完美PSP游戏机的终极解决方案

Adrenaline PSP模拟器固件:让PS Vita变身完美PSP游戏机的终极解决方案 【免费下载链接】Adrenaline Custom Firmware 6.61 Adrenaline for the PSP Emulator 项目地址: https://gitcode.com/gh_mirrors/adr/Adrenaline Adrenaline是一款专为PS Vita设计的革命…

2026/7/30 17:15:41阅读更多 →
FIFA 23 Live Editor终极指南:免费开源修改器完全掌控你的足球世界

FIFA 23 Live Editor终极指南:免费开源修改器完全掌控你的足球世界

FIFA 23 Live Editor终极指南:免费开源修改器完全掌控你的足球世界 【免费下载链接】FIFA-23-Live-Editor FIFA 23 Live Editor 项目地址: https://gitcode.com/gh_mirrors/fi/FIFA-23-Live-Editor 还在寻找能够完全掌控FIFA 23游戏体验的强大工具吗&#xf…

2026/7/30 18:40:21阅读更多 →
终极游戏库管理指南:用Playnite统一管理你的所有游戏平台

终极游戏库管理指南:用Playnite统一管理你的所有游戏平台

终极游戏库管理指南:用Playnite统一管理你的所有游戏平台 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: …

2026/7/30 18:40:21阅读更多 →
Wand-Enhancer:三分钟解锁Wand专业版的完整游戏修改体验

Wand-Enhancer:三分钟解锁Wand专业版的完整游戏修改体验

Wand-Enhancer:三分钟解锁Wand专业版的完整游戏修改体验 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wand(原WeMo…

2026/7/30 18:40:21阅读更多 →
Speech-to-Speech:10分钟构建本地语音AI系统的终极指南

Speech-to-Speech:10分钟构建本地语音AI系统的终极指南

Speech-to-Speech:10分钟构建本地语音AI系统的终极指南 【免费下载链接】speech-to-speech Build local voice agents with open-source models 项目地址: https://gitcode.com/GitHub_Trending/sp/speech-to-speech Speech-to-Speech是一款基于开源模型的本…

2026/7/30 18:40:21阅读更多 →
APK解析器深度解析:3步掌握Android应用逆向分析核心技术

APK解析器深度解析:3步掌握Android应用逆向分析核心技术

APK解析器深度解析:3步掌握Android应用逆向分析核心技术 【免费下载链接】apk-parser Apk parser for java 项目地址: https://gitcode.com/gh_mirrors/ap/apk-parser 在Android开发和安全研究领域,如何快速、准确地解析APK文件获取应用内部信息&…

2026/7/30 18:40:20阅读更多 →
从参数到效果:EchoMimicV3的1.3B模型架构如何平衡性能与效率?

从参数到效果:EchoMimicV3的1.3B模型架构如何平衡性能与效率?

从参数到效果:EchoMimicV3的1.3B模型架构如何平衡性能与效率? 【免费下载链接】echomimic_v3 [AAAI 2026] EchoMimicV3: 1.3B Parameters are All You Need for Unified Multi-Modal and Multi-Task Human Animation 项目地址: https://gitcode.com/gh…

2026/7/30 18:38:20阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/30 15:03:16阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/30 15:13:02阅读更多 →
3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 🚀 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾经因为iOS系统的严格…

2026/7/30 0:00:58阅读更多 →
[GESP202606 四级] 扫雷

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:00:58阅读更多 →
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/30 15:43:46阅读更多 →