因此,我在项目中使用的是MCP23018 GPIO扩展器以及一些按钮和转盘。设置电线时,我已将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输入引脚的按钮会触发中断,但是当其为高电平时不会触发中断。