一、前置实验
STM32103C8通过IIC采集温度(AHT20)
STM32F103C8+OLED显示
二、项目
- 导入文件,将OLED显示那个实验的这些文件导入到采集温湿度这个项目里
- 进入bsp_ic2.c里,改动一些代码,先将存放温湿度的变量设为全局变量
- 增加show_info函数,这个函数是将信息显示到OLED屏上的。
void show_info(){
GUI_ShowCHinese(10,10,16,"赵雪森",1);
GUI_ShowString(10,30,"6319xxxx231",16,1);
GUI_ShowString(5,50,"tem:",16,1);
GUI_ShowNum(40,50,T1/100,1,16,1);
GUI_ShowNum(49,50,(T1/10)%10,1,16,1);
GUI_ShowString(56,50,".",16,1);
GUI_ShowNum(58,50,T1%10,1,16,1);
GUI_ShowString(70,50,"wet:",16,1);
GUI_ShowNum(100,50,H1/100,1,16,1);
GUI_ShowNum(109,50,(H1/10)%10,1,16,1);
GUI_ShowString(116,50,".",16,1);
GUI_ShowNum(118,50,H1%10,1,16,1);
}
int main(void)
{
delay_init();
uart_init(115200);
IIC_Init();
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏(全黑)
while(1)
{
printf("温度湿度显示");
read_AHT20_once();//读取温湿度
show_info();//显示
delay_ms(5000);//延时
OLED_Clear(0);//清屏
read_AHT20_once();//读取温湿度
show_info();
delay_ms(5000);
OLED_Clear(0);
}
}
- 显示效果
三、总结
- 这次实验只是把前两次实验结合了,总的来说很简单,就是在OLED显示需要调整位置
四、参考
基于STM32的温湿度采集——OLED显示