pca9674a — Sterownik ekspandera I2C¶
Moduł pca9674a dostarcza sterownik dla 8-bitowego quasi-dwukierunkowego ekspandera we/wy NXP PCA9674A. Układ udostępnia 8-bitowy port we/wy przez I2C oraz aktywną w stanie niskim linię INT, która generuje impuls za każdym razem, gdy zmieni się stan dowolnego pinu wejściowego.
Każdy pin jest quasi-dwukierunkowy: zapis 1 zwalnia pin do słabego wewnętrznego rezystora podciągającego, dzięki czemu działa on jako wejście, które zewnętrzny układ może ściągnąć do stanu niskiego; zapis 0 aktywnie steruje pinem w stan niski. Nie ma osobnego rejestru kierunku – PCA9674A.read() zwraca bieżący zewnętrzny poziom każdego pinu niezależnie od tego, co zostało ostatnio zapisane.
7-bitowy adres I2C wynosi od 0x38 do 0x3F w zależności od pinów konfiguracyjnych A0/A1/A2; 0x3F (63) jest wartością domyślną (wszystkie piny konfiguracyjne w stanie wysokim).
klasa PCA9674A – 8-bitowy ekspander we/wy¶
- class pca9674a.PCA9674A(bus: machine.I2C, irq_pin: str, address: int = 63, callback: Callable | None = None)¶
Tworzy interfejs do ekspandera we/wy PCA9674A.
busto magistralamachine.I2C, do której podłączony jest ekspander.irq_pinto etykieta pinu hosta MCU połączonego z wyjściemINTekspandera. Sterownik konfiguruje go jako wejście z rezystorem podciągającym i obserwuje jego zbocze opadające.addressto 7-bitowy adres I2C ekspandera (od0x38do0x3F). Domyślnie0x3F.callbackjest wywoływane na zboczu opadającymirq_pin, gdy zmieni się stan dowolnego pinu. Otrzymuje instancjęPCA9674Ajako swój jedyny argument; nowy stan pinów można odczytać za pomocąread(). PodajNone(wartość domyślna) do użycia w trybie odpytywania.