“线程: PCF8575”中讨论的其它部件
我对这种端口扩展器和中断有一个比喻,但我想首先澄清我这边可能存在的这种误解:
只写一次,然后等待中断并继续读取端口是否足够?
我不是一位母语者,对我来说,数据表中的表述是不明确的:
从 PCF8575C 读取数据之前,所有需要作为输入的端口都应设置为逻辑1。
但是,在使用本部分时,我每次在阅读前都必须写0xFFFF,或者我读了一些无效的值。
因此,我将数据表解释为“每次从 PCF8575C 读取数据之前,所有需要作为输入的端口都应设置为逻辑1。”
这是真的,我是否以这种方式正确解释数据表?
或者,我是否确实应该能够一次写入0xFFFF (清除中断引脚),然后在 interupt 上重新读取端口状态,同时通过读取清除中断引脚?
在我手中,这个伪代码有效(现在不用担心 中断引脚)
但事实却是如此
write_PCF8575 (0xFFFF)
port_status_16_bits = read_PCF8575()
***用结果做些什么
当此代码在首次读取后失败:
write_PCF8575 (0xFFFF)
但事实却是如此
port_status_16_bits = read_PCF8575()
***用结果做点事,但不要用任何东西重写 PCF8575
谢谢您给我带来了启发。