pca9674a --- I2C 擴充器驅動程式¶
pca9674a 模組為 NXP PCA9674A 8 位元準雙向 I/O 擴充器提供驅動程式。此晶片透過 I2C 公開一個 8 位元 I/O 連接埠,以及一條低電位有效的 INT 線,只要有任何輸入接腳改變狀態便會發出脈衝。
每個接腳皆為準雙向:寫入 1 會將接腳釋放至一個微弱的內部上拉,使其作為輸入,外部驅動器可將其拉低;寫入 0 則主動將接腳驅動為低電位。沒有獨立的方向暫存器 -- 無論最後寫入了什麼,PCA9674A.read() 皆傳回每個接腳目前的外部電位。
7 位元 I2C 位址為 0x38 -- 0x3F,視 A0/A1/A2 跳線接腳而定;0x3F(63)為預設值(所有跳線皆為高電位)。
class PCA9674A -- 8 位元 I/O 擴充器¶
- class pca9674a.PCA9674A(bus: machine.I2C, irq_pin: str, address: int = 63, callback: Callable | None = None)¶
建立一個至 PCA9674A I/O 擴充器的介面。
bus是擴充器所連接的machine.I2C匯流排。irq_pin是主機 MCU 上連接至擴充器INT輸出的接腳標籤。驅動程式會將其設定為帶上拉的輸入,並監看其下降緣。address是擴充器的 7 位元 I2C 位址(0x38--0x3F)。預設為0x3F。callback會在任何接腳狀態改變時,於irq_pin的下降緣被呼叫。它以PCA9674A實例作為其唯一引數;可透過read()讀取新的接腳狀態。輪詢使用時請傳入None(預設值)。