Дискретные входы-выходы для STM32 на I2C-расширителе PCF8574

В случае, если в системе на базе микроконтроллера STM32F4XX не хватает GPIO-выводов для организации достаточного количества дискретных входов-выходов или есть необходимость организовать «длинную руку» в рамках многоплатной системы, на помощь придет I2C-расширитель портов ввода-вывода.

Подключение двух микросхем I2C-расширителей PCF8574DW к 100-выводному STM32F407 показано на рисунке ниже.

В желтом прямоугольнике справа — стандартная схема включения STM32F407 (МК + цепи тактирования, сброса и подключения ST-Link), в сером прямоугольнике слева — подключение к I2C двух расширителей PCF8574. Расширители могут работать как на вход, так и на выход, управляются программно.

Пример программы, в которой DD2 настраивается на ввод, а DD3 на вывод, показан ниже.

Настройка I2C:

Вывод байта в DD3:

Ввод байта от DD2:

Пример использования в основной программе:

 

Добавить комментарий