pca9674a — Ovladač I2C expandéru¶
Modul pca9674a poskytuje ovladač pro 8bitový kvazi-obousměrný I/O expandér NXP PCA9674A. Čip zpřístupňuje 8bitový I/O port přes I2C a aktivní v nule linku INT, která pulzuje, kdykoli se změní stav libovolného vstupního pinu.
Každý pin je kvazi-obousměrný: zápis 1 uvolní pin na slabý interní pull-up, takže se chová jako vstup, který může externí budič stáhnout do nuly; zápis 0 aktivně stahuje pin do nuly. Neexistuje samostatný registr směru – PCA9674A.read() vrací aktuální externí úroveň každého pinu bez ohledu na to, co bylo naposledy zapsáno.
7bitová I2C adresa je 0x38 – 0x3F v závislosti na propojkových pinech A0/A1/A2; 0x3F (63) je výchozí (všechny propojky vysoko).
třída PCA9674A – 8bitový I/O expandér¶
- class pca9674a.PCA9674A(bus: machine.I2C, irq_pin: str, address: int = 63, callback: Callable | None = None)¶
Vytvoří rozhraní k I/O expandéru PCA9674A.
busje sběrnicemachine.I2C, ke které je expandér připojen.irq_pinje štítek pinu na hostitelském MCU připojeného k výstupuINTexpandéru. Ovladač jej nakonfiguruje jako vstup s pull-upem a sleduje jeho sestupnou hranu.addressje 7bitová I2C adresa expandéru (0x38–0x3F). Výchozí hodnota je0x3F.callbackse vyvolá na sestupné hraněirq_pin, když se změní stav libovolného pinu. Jako jediný argument obdrží instanciPCA9674A; nový stav pinů lze přečíst pomocíread(). Pro dotazovaný režim předejteNone(výchozí hodnota).