pca9674a — I2C 익스팬더 드라이버¶
pca9674a 모듈은 NXP PCA9674A 8비트 준양방향(quasi-bidirectional) I/O 익스팬더용 드라이버를 제공합니다. 이 칩은 I2C를 통해 8비트 I/O 포트를 노출하며, 입력 핀의 상태가 변할 때마다 펄스를 발생시키는 액티브 로우 INT 라인을 제공합니다.
각 핀은 준양방향입니다: 1을 쓰면 핀이 약한 내부 풀업으로 해제되어 외부 드라이버가 로우로 끌어내릴 수 있는 입력으로 작동하고, 0을 쓰면 핀을 능동적으로 로우로 구동합니다. 별도의 방향 레지스터는 없습니다 – PCA9674A.read()는 마지막으로 무엇을 썼는지와 관계없이 모든 핀의 현재 외부 레벨을 반환합니다.
7비트 I2C 주소는 A0/A1/A2 스트랩 핀에 따라 0x38 – 0x3F입니다. 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은 익스팬더의INT출력에 연결된 호스트 MCU의 핀 레이블입니다. 드라이버는 이를 풀업이 있는 입력으로 구성하고 하강 에지를 감시합니다.address는 익스팬더의 7비트 I2C 주소입니다(0x38–0x3F). 기본값은0x3F입니다.callback은 핀 상태가 변할 때irq_pin의 하강 에지에서 호출됩니다. 유일한 인수로PCA9674A인스턴스를 받습니다. 새로운 핀 상태는read()로 읽을 수 있습니다. 폴링 방식 사용을 위해서는None(기본값)을 전달하십시오.