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:关于在读取 GPIO 高电平/低电平后是否复位。

Guru**** 2503935 points
Other Parts Discussed in Thread: PCA9555, TCA9555

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1191333/pca9555-about-whether-it-will-reset-after-reading-gpio-high-low

器件型号:PCA9555
主题中讨论的其他器件: TCA9555

尊敬的 TI 成员:

由于 PCA9555的设计、我们有一些问题。

我们想知道是否需要在读取 GPIO 高电平/低电平后清除 INT?

如有必要、是否有任何关于如何清除该问题的建议?

我们参考 (+) PCA9555:有关 PCA5555中断行为-接口论坛-接口- TI E2E 支持论坛的问题

由于本文中描述的"现在继续、我将解答您提出的问题、假设选择了 TCA9555、因为 INT 函数更易于预测。"
此情况是否也适用于 PCA9555?

谢谢。

Ariel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    数据表的第8.4.1节对此进行了说明。 对端口寄存器的读取将清除该寄存器中位的中断状态。

    作为一个16位扩展器、它具有两个端口寄存器。 您可能需要阅读这两个文档。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这意味着、如果我们要清除中断、我们需要读取端口寄存器。
    如果正确、我们可以通过 I2C 总线读取寄存器。
    例如、如果我们要清除端口1上的中断、我们只需要发送输入端口1命令、对吧?

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您知道中断来自端口1、则需要只从端口1读取。

    但是、您如何知道中断源或更改的位数? 您只能确定其他端口的所有位都配置为输出。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ariel、

    我同意克莱明的回答。 此外、如果您不确定中断来自何处、则可以读取两个端口寄存器、以确保中断也像之前提到的那样被清除。  

    如果需要进一步澄清、请告知我们!   

    此致、

    插孔  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jack:

    因此、如果我要清除 INT、无论端口是否有中断、我都只需读取所有端口即可实现清除中断的目的?


    谢谢。

    Ariel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    降级器、

    但我们的设计将 IO 扩展器 和其他器件寄存器分开。
    在本例中、我们如何知道来自 IO 扩展器的中断?

    我们应该执行哪些额外的步骤?

    谢谢。

    Ariel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果中断与其他器件共享、则必须读取这两个寄存器以检查它们是否已更改。