ZHCACQ6 june   2023 TCAL6408 , TCAL6416 , TCAL9538 , TCAL9539 , TCAL9539-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 引言
  5. 可编程输出驱动强度
  6. 可编程上拉或下拉电阻
  7. 可锁存输入
  8. 可屏蔽中断
  9. 中断状态寄存器
  10. 可编程开漏和推挽输出
  11. 使用 TCAL I/O 扩展器相较于 TCA I/O 扩展器的优势
  12. 总结
  13. 10参考文献

中断状态寄存器

中断状态寄存器(0x4C 和 0x4D)是用于标识触发的中断源的只读寄存器。读取中断状态寄存器时,逻辑 1 表示相应的输入引脚是中断源。逻辑 0 表示输入引脚不是中断源。

如果中断屏蔽寄存器(0x4A 和 0x4B)中的相应位设置为逻辑 1(已屏蔽),中断状态位会返回逻辑 0。

对于以下示例,TCAL6416 p 端口 P04 设置为输入且逻辑状态从高电平变为低电平。在中断状态寄存器 (0x4C) 内部,如果中断未被屏蔽,则保存数据 b00010000 或 0x10。对于本示例,表 6-1 中的位 S-04 = 1。位 S-04 等于 P04 p 端口,逻辑 1 表示该端口由于引脚上的状态变化而设置中断。

表 6-1 寄存器 4C 和 4D(中断状态寄存器)
S-07 S-06 S-05 S-04 S-03 S-02 S-01 S-00
默认值 0 0 0 0 0 0 0 0
S-17 S-16 S-15 S-14 S-13 S-12 S-11 S-10
默认值 0 0 0 0 0 0 0 0

要检查端口 1 上的中断,需要读取 TCAL6416(或任何 TCAL I/O 扩展器)内部的中断状态寄存器。首先,需要使用器件地址 0x21 后跟一个写入位对 TCAL6416 进行写入。然后,发送中断状态寄存器 0x4C 的地址。下一步是通过再次发送器件地址 0x21 后跟一个读取位来从 TCAL6416 读取数据。此时,从中断状态寄存器 (0x4C) 读取的数据为 0x10,这会正确识别触发了 P04 中断,从而告诉我们 p 端口 P04 上发生了输入变化。图 6-1 显示了整个过程。

GUID-20230601-SS0I-BJMM-MP1Z-W2RPJ6KZJSTD-low.png图 6-1 读取中断状态寄存器时显示 P04 导致了中断