写一个使用stm32f103c8t6使用DHT11温湿度传感器模块用olex显示的程序
时间: 2024-01-30 20:02:47 浏览: 86
STM32F103C8T6使用HAL库驱动DHT11温湿度传感器
好的,以下是使用stm32f103c8t6和DHT11温湿度传感器模块,并通过OLED显示的代码,供您参考:
```
#include "stm32f10x.h"
#include "dht11.h"
#include "oled.h"
#include "delay.h"
int main(void)
{
//初始化GPIO
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//初始化DHT11
DHT11_Init();
//初始化OLED
OLED_Init();
//显示温湿度
while(1)
{
//读取温湿度
DHT11_Read_Data();
//转换并显示温度
OLED_Clear();
OLED_ShowString(0,0,"Temperature:");
OLED_ShowNum(90,0,DHT11_Data.temperature,1,16);
//转换并显示湿度
OLED_ShowString(0,2,"Humidity:");
OLED_ShowNum(70,2,DHT11_Data.humidity,1,16);
//延时1s
delay_ms(1000);
}
}
```
请注意,此代码仅供参考,您需要根据自己的具体情况进行修改和调试。同时,您需要自行编写dht11.h、dht11.c、oled.h和oled.c文件,以便程序能够正常编译和运行。
阅读全文