主题中讨论的其他器件: PCA955
当输入数据与输入寄存器状态不同时、PCA9555将触发中断信号到 I2C 主器件、对吧?
如果 I2C 主器件连接了 PCA9555的八个器件、则所有 I/O 端口都连接到单独的 DUT。
I2C 主设备能否 直接了解导致 PCA955触发中断的 DUT 中的哪一个异常? 或 I2C 主器件来按顺序检查状态?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
黄您好、
'当输入数据与输入寄存器状态不同时、 PCA9555 将触发中断信号到 I2C 主器件、对吧?'
正确的做法是、如果器件设置为输入(启动时默认设置)、则会记住它之前的状态、并将电流输入与该状态进行比较。 如果当前状态不同于先前状态、则会触发 INT。 (请记住、如果当前状态在读取发生前发生变化、INT 将取消置位)
"I2C 主设备能否 直接了解导致 PCA955触发中断的 DUT 之一异常?"
这取决于、是否所有 INT 共享同一总线、或者器件 PCA9555 #1的 INT 将转至 MCU GPI #1、器件 PCA9555 #2转至 MCU GPI #2…… 选择...
如果每个器件都有来自 MCU 的自身 GPI、则可以判断哪个 DUT 导致了 INT、如果您在8个器件之间共享 INT 引脚、则在您读取每个单独器件之前、您将无法判断触发了哪个器件。 您可以使用另一个单独的 IO 扩展器、并将每个单独的 INT 连接到 I/O 扩展器上的 GPI、这样就可以告诉您触发 INT 的是哪个 INT。
" I2C 主设备需要顺序检查状态?"
如果在同一总线上有8个 INT 连接到主器件的同一个 GPI、就会出现这种情况。 我在^^上的最后一个建议 将帮助您确定哪个 DUT 触发了 INT。
让我知道这对您是否有意义、希望我能清楚地解释它。
谢谢、
-Bobby