大家好、
客户正在使用 TCA8418。 附件中提供了原理图及其代码。 请检查附件。
其设计如下:
(1)。 COL0-COL4和 ROW0-Row3 组合为4*5键盘;
祝你一切顺利、
张美键
亚洲客户支持中心
应用工程师
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.
大家好、
客户正在使用 TCA8418。 附件中提供了原理图及其代码。 请检查附件。
其设计如下:
(1)。 COL0-COL4和 ROW0-Row3 组合为4*5键盘;
祝你一切顺利、
张美键
亚洲客户支持中心
应用工程师
Mickey、您好!
Q1: 我认为他们不会向 INT_STAT 寄存器中的 K_INT 位写入1以清除 INT 引脚。
问题2: 我对这个问题有点困惑。 当 INT 引脚变为低电平 时、器件的运行方式与此类似、这意味着发生了某种情况、某个位的状态发生了变化(生成中断)、并且 INT 状态标志从0更改为1。 如果清除 INT_STAT 位、则会释放 INT 引脚并进入高电平状态。
他们是否看到了不需要的中断???? 如果是、他们可以发送什么寄存器设置、以便我确认他们已正确设置了该设置吗?
-弗朗西斯·胡德
您好、user5053238、
您可能会说、有时在您将0x1F 发送到 INT_STAT (0x02)然后您转到读取 INT_STAT 之后、您有时会遇到除0x00以外的其他情况。
查看代码后、我认为您正在启用 GPIO_INT_EN2和 GPIO_INT_EN3位、但您从未读取或清除它们。
您似乎只读取 GPIO_INT_STAT1、而不是 STAT2和 STAT3。
您需要读取 GPIO_INT_STAT2和 GPIO_INT_STAT3并清除(向 每个寄存器写入 FF、0x12和0x13) 它们、前提是它们是触发该 INT 的事件。
-弗朗西斯·胡德
您好、user5053238、
发生这种情况时、从 INT_STAT (寄存器地址0x02)、GPIO_INT_STAT1 (寄存器地址0x11)、GPIO_INT_STAT2 (寄存器地址0x12)、GPIO_INT_STAT3 (寄存器地址0x13)读取的是十六进制值?
INT 引脚通常为高电平、直到 发生中断事件、然后被拉至低电平。 它将保持低 电平、直到您通过向触发四个寄存器(INT_STAT、GPIO_INT_STAT1、GPIO_INT_STAT2、GPIO_INT_STAT3)中的中断事件的位写入1来释放它。
您是否有原理图、以便我可以验证器件是否正确连接。
您是否在所有这些事件上都有示波器/逻辑分析仪波形。 您是否有一种方法来记录从编程到启动中断事件的整个过程中的 I2C 事务?
-弗朗西斯·胡德