Подключение микросхем увеличения портов ввода-вывода MCP23017 и MCP23S17 к (avr)(ч.2/2)
ฝัง
- เผยแพร่เมื่อ 13 ก.ย. 2024
- Сайт : www.doneathome.ru
Канал: / @doneathomeru
Группа в контакте : Done_AT_...
*********************************************************************
Помощь проекту: WebMoney Z396366925965
*********************************************************************
Описание : В этой статье мы обсудим, как использовать микросхему MCP23017 16-битный последовательный расширитель с последовательный интерфейс I2C. В MCP23017, имеет 7-битный адрес устройства. Наиболее значимыми 4 бита “0100” , а три аренды значащих битов определяются напряжения на A2, A1 и A0-пен. Это позволяет подключить до 8 GPIO расширители на одной шине дает нам максимум 16*8 = 128 дополнительных контактов GPIO для наших проектов.
В MCP23017 чип имеет набор регистров, которые должны быть записаны, чтобы контролировать чипа поведения. Например, IODIRA & IODIRB регистров определить, является ли контакты на порты A и B являются соответственно входами(1) или выходов (0). Чтобы узнать состояние входного контакта на порт A или B, Вам необходимо прочитать GPIOA или GPIOB регистров, и установить pin выход на порт A или B для высокой или низкой, то Вам необходимо написать соответствующее значение в OLATA или OLATB регистров. Чип обладает множеством дополнительных регистров с дополнительной функциональностью, как и реверсирования полярности, включение внутреннего pull-ups и разрешением прерываний.
Спасибо за уроки. Очень качественно и понятно делаешь. Очень помогает разберется с программировании.
Спасибо))
Большое человеческое спасибо Автору! видео помогло запустить mcp23017 на stm32
о похожу н ея 1 этим страдаю , тоже на stm запускаю но mcp23s17 . Но теперь стало понятно где выбирается порт а и порт б
Слушай кинь пример , того что у тебя вышло, а то у меня микросхема не реагирует.
Добрый день !!!
Подскажите, после сброса питания и до момента инициализации микросхемы на выходах логические единицы, что вызывало срабатывание подключённых к ним реле. как сделать чтобы по умолчанию был 0 ? Библиотека adafruit mcp23017.h
Я использовал для расширения портов микросхему pcf8574, но у меня появлялся какой-то глюк. После сброса питания и до момента инициализации микросхемы на выходах были логические единицы, что вызывало срабатывание подключённых к ним реле, которые программно должны были работать по схеме "Не". т.е. либо одно, либо второе. А тут бах, и оба... в результате отказался... может я что-то делал не так, или это особенность данной микросхемы?
Спасибо