基于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