pca9674a — I2C Expander Driver¶
Модуль pca9674a надає драйвер для 8-бітного квазідвонаправленого розширювача введення/виведення NXP PCA9674A. Мікросхема надає 8-бітний порт введення/виведення через I2C та активну низьку лінію INT, яка спрацьовує щоразу, коли будь-який вивід вхідного сигналу змінює свій стан.
Кожен вивід є квазідвонаправленим: запис 1 вивільняє вивід до слабкого внутрішнього підтягування, тому він діє як вхід, який зовнішній драйвер може притягнути до низького рівня; запис 0 активно притягує вивід до низького рівня. Окремого регістра напряму немає — PCA9674A.read() повертає поточний зовнішній рівень кожного виводу незалежно від останнього записаного значення.
7-бітна I2C-адреса — від 0x38 до 0x3F залежно від джемперних виводів A0/A1/A2; 0x3F (63) — за замовчуванням (всі виводи підтягнуті до високого рівня).
class PCA9674A – 8-bit I/O expander¶
- class pca9674a.PCA9674A(bus: machine.I2C, irq_pin: str, address: int = 63, callback: Callable | None = None)¶
Створює інтерфейс до розширювача введення/виведення PCA9674A.
bus— шинаmachine.I2C, до якої підключений розширювач.irq_pin— мітка виводу на мікроконтролері хоста, підключеного до виходуINTрозширювача. Драйвер налаштовує його як вхід з підтягуванням і відстежує його спадний фронт.address— 7-бітна I2C-адреса розширювача (від0x38до0x3F). За замовчуванням0x3F.callback— викликається на спадному фронтіirq_pin, коли змінюється стан будь-якого виводу. Отримує екземплярPCA9674Aяк єдиний аргумент; новий стан виводів можна зчитати за допомогоюread(). ПередайтеNone(за замовчуванням) для опитування.