零、芯片io脚
一、按键中断触发
只有部分io口支持中断,选io时注意这个。nodeMCU的flash按钮不支持中断。只能用下面的循环判断。
这里的例子是gpio2。
int pinInterrupt = 2; //接中断信号的脚 2= gpio2
void onChange()
{
if ( digitalRead(pinInterrupt) == LOW )
Serial.println("Key Down");
else
Serial.println("Key UP");
}
void setup()
{
Serial.begin(115200); //打开串口
pinMode( pinInterrupt, INPUT);//设置管脚为输入
//Enable中断管脚, 中断服务程序为onChange(), 监视引脚变化
attachInterrupt( digitalPinToInterrupt(pinInterrupt), onChange, CHANGE);
}
void loop()
{
// 模拟长时间运行的进程或复杂的任务。
for (int i = 0; i < 100; i++)
{
// 什么都不做,等待10毫秒
delay(10);
}
}
二、循环检测按键并判断长按事件<