在esp32cam中断函数中不使用delay执行的问题
int pushButton=12; int outputButton=13; volatile byte state=LOW; void setup () serial.begin ) 115200; pin mode (输出按钮,输出); //创建中断: attach interrupt (attach interrupt ) digitalpintointerrupt (push button )、InterruptServiceRoutine,RISING ); }void InterruptServiceRoutine () { state=! 状态; 数字写入(输出按钮,状态); Serial.println ('开始等待'); 延迟(1000; Serial.println (等待完成); }void loop () }
运行结果如图所示,发现中断程序没有停止运行,直接跳过了delay。 难怪不能考虑用中断程序点亮LED秒钟再关闭。