工具与软件:
您好!
我正在尝试处理 HD3SS3220RNHR 的 INT_N 引脚,但运气不好。 你能帮我吗?" 以下是我的案例:
我通过 pull 将 INT_N 连接到5V、然后使用分频器获得3V3、然后将其连接到微控制器(RP2040) GPIO14、请参阅下面的图像。 我还将 I2C 连接到 RP2040、我可以毫无问题地读取/写入数据。
我担心的是、无论我写入控制寄存器是什么、INT_N 引脚都处于低电平状态:
#define HD3SS3220_ADDR 0x67
#define HD3SS3220_INTERRUPT_PIN 14
...
bool state = gpio_get(HD3SS3220_INTERRUPT_PIN);
while (!state) {
reg_read(i2c_default, HD3SS3220_ADDR, REGISTER_CONNECTION_STATUS, data, 1);
printf("REGISTER_CONNECTION_STATUS: %X\r\n", data[0]);
reg_read(i2c_default, HD3SS3220_ADDR, REGISTER_CONNECTION_STATUS_AND_CONTROL, data, 1);
printf("REGISTER_CONNECTION_STATUS_AND_CONTROL: %X\r\n", data[0]);
data[0] = (data[0] & 0xC0) | 0x01;
reg_write(i2c_default, HD3SS3220_ADDR, REGISTER_CONNECTION_STATUS_AND_CONTROL, &data[0], 1);
sleep_ms(10);
state = gpio_get(HD3SS3220_INTERRUPT_PIN);
printf("interrupt pin: %d\r\n", state);
sleep_ms(5000);
}
和代码输出:
REGISTER_CONNECTION_STATUS: 10 REGISTER_CONNECTION_STATUS_AND_CONTROL: 90 Write operation: 2 interrupt pin: 0 REGISTER_CONNECTION_STATUS: 10 REGISTER_CONNECTION_STATUS_AND_CONTROL: 91 Write operation: 2 interrupt pin: 0 REGISTER_CONNECTION_STATUS: 10 REGISTER_CONNECTION_STATUS_AND_CONTROL: 91 Write operation: 2 interrupt pin: 0
你能指出我做错了什么吗?

