Skip to content

06 I²C AHT20

实验目标

通过 I²C1(PB6/SCLPB7/SDA)与地址 0x38 的 AHT20 通信,读取温度和相对湿度,并处理设备忙、超时和无响应。

读取流程

  1. 上电等待传感器稳定并读取状态。
  2. 必要时执行初始化/校准命令。
  3. 发送触发测量命令。
  4. 等待测量完成,读取状态和原始数据。
  5. 按数据手册公式换算温湿度。
text
humidity = raw_humidity / 2^20 × 100%
temperature = raw_temperature / 2^20 × 200 - 50°C

I²C 地址格式

HAL_I2C_Master_Transmit 等 HAL API 通常接收左移一位后的地址。封装驱动时统一规定传入 7 位地址还是 8 位地址,避免 0x38/0x70 混用。

验收

  • 室内读数处于合理范围且缓慢变化。
  • 断开或模拟无响应时,程序能超时返回而不是永久阻塞。
  • OLED 同时使用总线时,两者都能稳定工作。
最近更新