Поэтому я использую расширитель GPIO MCP23018 с добавлением некоторых кнопок и циферблатов в моем проекте.Когда я настраивал провода, я подключил контакты MCP (установленные для входа) к кнопке последовательно к GND.После настройки прерывания у меня появилась рабочая кнопка active low
.
PIN <-> BUTTON <-> GND
|
10k pull-up resistor
|
v
VCC
Все шло по плану до того момента, когда я начал подключать высоковольтные компоненты к проекту, в данном случае к преобразователю частоты - с момента его включения кнопки запускались«Нажав» случайно.
Это заняло некоторое время, но я разработал частичное решение проблемы.Перестановка кнопок, например:
PIN <-> BUTTON <-> VCC
|
10k pull-down resistor
|
v
GND
Итак, установка кнопки на active high
, кажется, решает проблему шума, когда я проверял состояние кнопки с помощью опроса.Но возникла еще одна проблема: контакт прерывания MCP никогда не срабатывает (его следует установить на low
).
TLDR;версия: кнопка, использующая входной контакт MCP, запускает прерывание при активном низком уровне, но не при активном высоком.