#define LED_PIN PA3
#define BTN_PIN PA1
bool ledState = LOW;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(BTN_PIN, INPUT_PULLUP); // button to GND
digitalWrite(LED_PIN, ledState);
}
void loop() {
if (digitalRead(BTN_PIN) == LOW) { // pressed
ledState = !ledState;
digitalWrite(LED_PIN, ledState);
delay(50); // debounce
// wait till released
while (digitalRead(BTN_PIN) == LOW) {
delay(10);
}
}
}