介绍
GXHT3x-DIS 是中科银河芯开发的新一代单芯片集成温湿度一体传感器,它有两个供用户选择的 I2C 地址, I2C 通信速度高达1MHz,芯片采用小型化 DFN 封装,外形尺寸 2.5 x 2.5 mm2,高度 0.9 mm. 这使得 GXHT3x-DIS 可以集成在各种应用场合;此外 2.2-5.5V 宽供电电压范围使得它可以适应各种供电环境
范围精度
- GXHT30典型精度:±3%RH和±0.3°C
- 温度典型值:从-45°C到130°C
- 电源电压范围:从2.2V到5.5V
- 工作范围:测量范围0-100%相对湿度
- 响应速度:内部数据测量时间低至 2.5ms
硬件电路
最小电路:i2c接口的两个引脚SCL和SDA接上拉电阻到VDD,模块的接法是上拉电阻为4.7kΩ

芯片引脚功能表
| 引脚编号 | 引脚名称 | 功能说明 |
|---|---|---|
| 1 | SDA | 数据端口;输入/输出 |
| 2 | ADDR | 地址端口,接电源或者地,不能悬空;输入 |
| 3 | AIFRT | 报警标志位,超出设定阈值会被置高,如果不用时该管脚悬空;输出 |
| 4 | SCL | 时钟端口;输入/输出 |
| 5 | VDD | 电源端口;输入 |
| 6 | nRESET | 复位端口,低电平有效,不用时建议悬空;输入 |
| 7 | R | 无用端口,使用时接地 |
| 8 | Vss | 地 |
电气参数

设备地址默认为0x44,通过改变 ADDR 的连接方式可以改变传感器的 I2C 地址。当ADDR 接低电平时,传感器芯片的地址为 0x44,当 ADDR 接高电平时,传感器芯片的地址为 0x45。 需要注意在通信过程中 ADDR的 电 平 不 能发生改变。这种地址选择方式可以将 两 颗GXHT3x-DIS 连接在同一个 I2C 总线上。
| GXHT 3x-DIS | 十六进制的 I2C 地址 | 说明 |
|---|---|---|
| I2C 地址 A | 0x44(默认) | ADDR 管脚接低电平 |
| I2C 地址 B | 0x45 | ADDR 管脚接高电平 |
工作流程
测量
需先发送一个开始信号,然后发送一个 I2C的写操作头,然后再跟随一个 16 位的温湿度转换命令。 传感器收到上位机发送的每个字节数据后,会通过将 SDA 总线拉到低电平给出 ACK 信号。在正确的收到温湿度转换命令并发送 ACK 信号给微处理器之后, GXHT3x-DIS 内部开始启动温度和湿度的转换测量。
- 初始化(软复位)
- 写cmd(2个字节:寄存器+模式)
- 读取data(6个字节)
- 校验CRC
寄存器
复位寄存器:0x30 → 0xA2
写测量模式寄存器:0x2C → 0x06(高),0x0D(中),0x10(低)
读取状态命令寄存器:0xF3 → 0x2D
示例代码
i2c写命令
1 | static HAL_StatusTypeDef HT30_WriteCommand(uint16_t command) |
初始化(软复位):往0x30寄存器写0xA2
1 | HT30_WriteCommand(HT30_CMD_SOFT_RESET) |
读取原始数据:温度(2个字节)+ 校验(1个字节)+ 湿度(2个字节)+ 校验(1个字节)
1 | uint8_t raw[6] = {0}; |
温度湿度数据校验:一次性读取6个字节
1 | static uint8_t HT30_CalculateCRC(const uint8_t *data, uint8_t len) |
温湿度数据解析
1 | uint8_t raw[6] = {0}; |