int led_pin = 22;
int button_pin = 32;
//定义LED逻辑值
int led_logic =0;
//判断LED的状态是否改变过
bool status = false;
void setup() { //void setup就是初始化做定义的
pinMode(led_pin, OUTPUT);
pinMode(button_pin, INPUT_PULLDOWN);
}
void loop() {
//按键消抖
if (digitalRead(button_pin)){
//睡眠10ms,如果依然是高电平,说明按下抖动消失了。
delay(10);
if(digitalRead(button_pin) && !status){
led_logic = !led_logic;
digitalWrite(led_pin,led_logic);
//led的状态发生了变化,即使我持续按着安检,led的状态也不会发生改变
status = !status;
}else if(!digitalRead(button_pin)){
status = false;
}
}
}