pca9674a — Pilote d’expandeur I2C¶
Le module pca9674a fournit un pilote pour l’expandeur d’E/S quasi-bidirectionnel 8 bits NXP PCA9674A. La puce expose un port d’E/S 8 bits via I2C ainsi qu’une ligne INT active à l’état bas qui émet une impulsion chaque fois que l’état d’une broche d’entrée change.
Chaque broche est quasi-bidirectionnelle : écrire 1 relâche la broche vers un faible pull-up interne afin qu’elle agisse comme une entrée qu’un pilote externe peut tirer à l’état bas ; écrire 0 force activement la broche à l’état bas. Il n’y a pas de registre de direction distinct – PCA9674A.read() renvoie le niveau externe actuel de chaque broche, quel que soit ce qui a été écrit en dernier.
L’adresse I2C 7 bits est 0x38 – 0x3F selon les broches de configuration A0/A1/A2 ; 0x3F (63) est la valeur par défaut (toutes les broches de configuration à l’état haut).
classe PCA9674A – expandeur d’E/S 8 bits¶
- class pca9674a.PCA9674A(bus: machine.I2C, irq_pin: str, address: int = 63, callback: Callable | None = None)¶
Crée une interface vers un expandeur d’E/S PCA9674A.
busest le busmachine.I2Cauquel l’expandeur est connecté.irq_pinest l’étiquette de broche du MCU hôte connectée à la sortieINTde l’expandeur. Le pilote la configure comme une entrée avec un pull-up et surveille son front descendant.addressest l’adresse I2C 7 bits de l’expandeur (0x38–0x3F). La valeur par défaut est0x3F.callbackest invoqué sur le front descendant deirq_pinlorsque l’état d’une broche change. Il reçoit l’instancePCA9674Acomme unique argument ; le nouvel état des broches peut être lu avecread(). PassezNone(la valeur par défaut) pour une utilisation par scrutation.