xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
AHT20 温湿度示例

平台 目标 板子
lm620 r4f4 e837n_v01

演示通过 I2C 总线与 AHT20 温湿度传感器通信,读取温度和湿度数据。

预期行为

**传感器初始化**:

  • 配置 I2C 引脚复用(SCL、SDA),以 100 kHz 速度初始化 I2C 主机
  • 对 AHT20 执行软复位,读取状态寄存器,若未校准则执行初始化命令( 0xBE 0x08 0x00 )

**周期性测量**:

  • 每 500 ms 触发一次 AHT20 测量(命令 0xAC 0x33 0x00 ),等待 100 ms 后读取 7 字节原始数据
  • 解析温湿度原始值并转换为实际物理量(温度 -40~85 °C,湿度 0~100 )
  • 数据正常时串口输出:
[00000000][i2c_task]: start
[00000100][i2c_task]: temperature: 25.30 C
[00000100][i2c_task]: humidity: 55.20 %
  • 数据超出范围时输出:
[00000000][i2c_task]: measurement error - data out of range

编译和运行

cd examples/peripherals/i2c/aht20
xt --target lm620/r4f4 --board e837n_v01 fullclean build

下载固件后运行,串口观察温湿度采集日志。

注意事项

  • I2C 引脚(SCL、SDA)依赖 xt_board(板级配置) 配置,不同板子需确认 XT_BRD_I2C_AHT20_SCL_PIN 等宏映射正确
  • 此示例需要 AHT20 传感器硬件连接至同一 I2C 总线
  • 传感器上电后需先校准(CAL 位为 0 时需要初始化),否则测量数据无效
  • DBG_LOG 调试宏默认关闭( DBG_LOG_ENABLE=0 ),开启可输出详细 I2C 通信过程