06 I²C AHT20
实验目标
通过 I²C1(PB6/SCL、PB7/SDA)与地址 0x38 的 AHT20 通信,读取温度和相对湿度,并处理设备忙、超时和无响应。
读取流程
- 上电等待传感器稳定并读取状态。
- 必要时执行初始化/校准命令。
- 发送触发测量命令。
- 等待测量完成,读取状态和原始数据。
- 按数据手册公式换算温湿度。
text
humidity = raw_humidity / 2^20 × 100%
temperature = raw_temperature / 2^20 × 200 - 50°CI²C 地址格式
HAL_I2C_Master_Transmit 等 HAL API 通常接收左移一位后的地址。封装驱动时统一规定传入 7 位地址还是 8 位地址,避免 0x38/0x70 混用。
验收
- 室内读数处于合理范围且缓慢变化。
- 断开或模拟无响应时,程序能超时返回而不是永久阻塞。
- OLED 同时使用总线时,两者都能稳定工作。