基于IIC和SPI协议的温湿度采集与OLED显示

本文介绍了如何使用STM32F103通过I2C协议与AHT20温湿度传感器交互,每隔2秒采集数据并通过串口发送至Win10上位机。同时,还详细讲解了如何借助STM32的SPI或IIC接口,结合汉字点阵编码原理,在OLED屏幕上显示个人姓名和专业班级。
摘要由CSDN通过智能技术生成

基于IIC和SPI协议的温湿度采集与OLED显示

1、使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出

1)解释什么是“软件I2C”和“硬件I2C”?

1、硬件I2C
直接利用 STM32 芯片中的硬件 I2C 外设。

2、软件I2C
直接使用 CPU 内核按照 I2C 协议的要求控制 GPIO 输出高低电平,从而模拟I2C。

2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。

1、完整代码: https://pan.baidu.com/s/1lJMpJZlQbtDEW5GswbUNqQ 提取码: r972

温湿度传感器AHT20

串口调试助手链接:https://pan.baidu.com/s/13DVMpKdLp_76926vk2io-g
提取码:v63q

2、代码

读取AHT20的状态寄存器

u8 AHT20_Read_Status(void)
{
	u8 Byte_first,flag;	
	IIC_Start();
    IIC_Send_Byte(0x71);
	flag=IIC_Wait_Ack();
	Byte_first = IIC_Read_Byte(flag);
	IIC_NAck();
	IIC_Stop();

	return Byte_first;
}

向AHT20发送AC命令

void AHT20_SendAC(v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值