pca9674a — I2C-expanderdrivrutin¶
Modulen pca9674a tillhandahåller en drivrutin för NXP PCA9674A 8-bitars kvasibidirektionella I/O-expander. Chippet exponerar en 8-bitars I/O-port över I2C och en aktiv-låg INT-linje som pulsar närhelst något inmatningsstift ändrar tillstånd.
Varje stift är kvasibidirektionellt: att skriva 1 släpper stiftet till en svag intern pull-up så att det fungerar som en ingång som en extern drivare kan dra lågt; att skriva 0 driver aktivt stiftet lågt. Det finns inget separat riktningsregister – PCA9674A.read() returnerar den aktuella externa nivån för varje stift oavsett vad som senast skrevs.
Den 7-bitars I2C-adressen är 0x38 – 0x3F beroende på strappstiften A0/A1/A2; 0x3F (63) är standardvärdet (alla strappar höga).
class PCA9674A – 8-bitars I/O-expander¶
- class pca9674a.PCA9674A(bus: machine.I2C, irq_pin: str, address: int = 63, callback: Callable | None = None)¶
Skapar ett gränssnitt till en PCA9674A I/O-expander.
busär denmachine.I2C-buss som expandern är ansluten till.irq_pinär stiftetiketten på värd-MCU:n som är ansluten till expandernsINT-utgång. Drivrutinen konfigurerar den som en ingång med en pull-up och bevakar dess fallande flank.addressär expanderns 7-bitars I2C-adress (0x38–0x3F). Standardvärdet är0x3F.callbackanropas på den fallande flanken avirq_pinnär något stifttillstånd ändras. Den tar emotPCA9674A-instansen som sitt enda argument; det nya stifttillståndet kan läsas medread(). SkickaNone(standardvärdet) för pollad användning.