https://e2e.ti.com/support/interface-group/interface/f/interface-forum/616615/tca8418-gpio-usage
部件号:TCA8418我使用的设计具有多个GPIO输入和输出连接到TCA8418。 浏览完数据表后,我有几个问题,我还想确认我没有任何误解。
产出
以下是我对如何在POR之后配置/使用GPIO输出的理解:
- 写入GPIO _DIR#寄存器以将引脚配置为输出
- 写入GPIO _DAT_OUT#寄存器以打开/关闭输出
这就是我可以从数据表中得到的全部信息。 POR之后,每个引脚默认为GPIO模式(根据KP_GPIO #寄存器),因此我认为没有其他操作。
输入
我尝试尽可能简单地配置输入—没有FIFO,没有中断,没有去抖,没有类似的东西。 以下是流程的内容:
- 写入GPIO _Pull#寄存器以配置上拉
- 读取GPIO _DAT_STAT#寄存器以轮询输入状态
同样,这似乎足够简单。 引脚默认为GPIO模式(KP_GPIO #),并且在POR上禁用中断(GPIO_INT_EN#),因此这似乎足够了。
我还想知道如何从GPIO DAT_STAT#寄存器中读取数据。 数据表显示以下内容:
这些寄存器在读取输入和输出时显示GPIO状态。 阅读两次以清除它们。
最后一句话对我来说毫无意义。 "清除"此登记簿意味着什么? 对我来说,这意味着这些值在设置时会锁定,但我在数据表中的任何地方都找不到这一点。 这些寄存器是否反映GPIO输入的当前状态? 或者,是否需要读取它们两次(清除)才能获得当前状态?
谢谢!