python用久了,整天忘记打分号XD。
使用的是普中的ESP32开发板,按键是一边连接单片机一边接地的方式,所以选择的输入模式是上拉(INPUT_PULLUP)。
int led_pin[]={15,2,0,4};
int key_pin[]={14,27,26,25};
void setup() {
// put your setup code here, to run once:
for (int i=0; i<4; i++){
pinMode(led_pin[i],OUTPUT);
pinMode(key_pin[i],INPUT_PULLUP);
}
}
void loop() {
// put your main code here, to run repeatedly:
for (int i=0; i<4; i++){
if (!digitalRead(key_pin[i])){
delay(50);
if (!digitalRead(key_pin[i])){
digitalWrite(led_pin[i], !digitalRead(led_pin[i]));
// 用于禁止长按按键时LED闪烁,因为较短的消抖时间
while (1){
if (digitalRead(key_pin[i])){
break;
}
}
}
}
}
}