const int BUTTON_PIN = 4;
volatile unsigned long lastInterruptTime = 0;
volatile unsigned long lastInterruptTime2 = 0;
bool buttonPressed = false;
int count = 0;
void IRAM_ATTR handleButtonInterrupt() {
if (millis() - lastInterruptTime > 50) {
buttonPressed = true;
lastInterruptTime = millis();
}
}
void setup() {
Serial.begin(9600);
pinMode(BUTTON_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN), handleButtonInterrupt, CHANGE);
}
void loop() {
if (buttonPressed) {
buttonPressed = false;
count++;
if (millis() - lastInterruptTime2 > 200) {
count++;
lastInterruptTime2 = millis();
}
}
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r