ZHCACQ6 june 2023 TCAL6408 , TCAL6416 , TCAL9538 , TCAL9539 , TCAL9539-Q1
中斷狀態(tài)寄存器(0x4C 和 0x4D)是用于標(biāo)識(shí)觸發(fā)的中斷源的只讀寄存器。讀取中斷狀態(tài)寄存器時(shí),邏輯 1 表示相應(yīng)的輸入引腳是中斷源。邏輯 0 表示輸入引腳不是中斷源。
如果中斷屏蔽寄存器(0x4A 和 0x4B)中的相應(yīng)位設(shè)置為邏輯 1(已屏蔽),中斷狀態(tài)位會(huì)返回邏輯 0。
對(duì)于以下示例,TCAL6416 p 端口 P04 設(shè)置為輸入且邏輯狀態(tài)從高電平變?yōu)榈碗娖健T谥袛酄顟B(tài)寄存器 (0x4C) 內(nèi)部,如果中斷未被屏蔽,則保存數(shù)據(jù) b00010000 或 0x10。對(duì)于本示例,表 6-1 中的位 S-04 = 1。位 S-04 等于 P04 p 端口,邏輯 1 表示該端口由于引腳上的狀態(tài)變化而設(shè)置中斷。
| 位 | S-07 | S-06 | S-05 | S-04 | S-03 | S-02 | S-01 | S-00 |
| 默認(rèn)值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | S-17 | S-16 | S-15 | S-14 | S-13 | S-12 | S-11 | S-10 |
| 默認(rèn)值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
要檢查端口 1 上的中斷,需要讀取 TCAL6416(或任何 TCAL I/O 擴(kuò)展器)內(nèi)部的中斷狀態(tài)寄存器。首先,需要使用器件地址 0x21 后跟一個(gè)寫(xiě)入位對(duì) TCAL6416 進(jìn)行寫(xiě)入。然后,發(fā)送中斷狀態(tài)寄存器 0x4C 的地址。下一步是通過(guò)再次發(fā)送器件地址 0x21 后跟一個(gè)讀取位來(lái)從 TCAL6416 讀取數(shù)據(jù)。此時(shí),從中斷狀態(tài)寄存器 (0x4C) 讀取的數(shù)據(jù)為 0x10,這會(huì)正確識(shí)別觸發(fā)了 P04 中斷,從而告訴我們 p 端口 P04 上發(fā)生了輸入變化。圖 6-1 顯示了整個(gè)過(guò)程。
圖 6-1 讀取中斷狀態(tài)寄存器時(shí)顯示 P04 導(dǎo)致了中斷