主题中讨论的其他器件: TCA9555
TCA8418数据表显示:-
8.6.2.8 GPIO 数据状态寄存器、GPIO_DAT_STAT1-3 (地址0x14–0x16)
这些寄存器显示了当读取输入和输出时的 GPIO 状态。 阅读两次以清除它们
请有人解释"阅读这些两次以清除它们"在这方面的含义。
我想/希望当配置为 GPIO 输入时、它们只会反映当前输入状态。
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数据表显示:-
8.6.2.8 GPIO 数据状态寄存器、GPIO_DAT_STAT1-3 (地址0x14–0x16)
这些寄存器显示了当读取输入和输出时的 GPIO 状态。 阅读两次以清除它们
请有人解释"阅读这些两次以清除它们"在这方面的含义。
我想/希望当配置为 GPIO 输入时、它们只会反映当前输入状态。
嘿、John、
遗憾的是、我还没有机会在实验室中使用该器件(只订购了一些器件、但需要为其设置测试) 但是、数据表似乎表明每25ms 扫描一次 GPIO、根据我的理解、它们会检查先前读取的值、以查看引脚的状态是否发生变化(可能使用两个触发器来存储此数据)。 如果之前的状态和当前状态都相同(例如都为低电平)、则器件将得出按钮被按下的结论(不是磁通/弹跳)、并将数据移动到 FIFO 中。 此逻辑用于器件的键盘模式。
将其作为通用输入、我假设器件应存储之前扫描的最后一个值和当前值。
谢谢、
-Bobby
嘿、John、
"根据8.6.2.15 (去抖禁用寄存器)中的说明、我认为在仅 GPIO 模式下、去抖时间为~50 μ s。"
去抖时间似乎最大为60ms。 我可能会相信数据表的这一部分。 如前所述、我相信寄存器中的值将是最后两次扫描的延迟值(间隔25ms、因此如果我理解正确、最大延迟将为50ms)。 最好查看我们的 IO 扩展器、因为延迟值似乎不适合您的应用。
我们确实有具有 ESD 保护和内部上拉电阻的 IO 扩展器。 一个示例是具有100k 内部上拉电阻和2k HBM 和1k CDM ESD 保护的 TCA9555。 多个封装选项和器件默认设置为输入、无需像 TCA8418那样配置寄存器。 它唯一没有的功能是去抖功能。
您可以在此处找到其他 I/O 扩展器:
请务必查找 TCA 系列、因为它们具有更高的成本竞争力、并修复了 PCA 系列中的一些错误。
谢谢、
-Bobby