/*
Why is the interupt not working?
[email protected]
*/
int ledPin = PC13; // PC13 = LED built-in at bluepill
uint8_t irq_pin = PB9;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
pinMode(irq_pin, INPUT); //INPUT_PULLUP
attachInterrupt(digitalPinToInterrupt(irq_pin),buttonPressed,CHANGE);
digitalWrite(irq_pin, HIGH); // function for creating external interrupts
}
void loop() // void loops runs continuously
{ }
void buttonPressed() //
{
digitalWrite(ledPin, !digitalRead(ledPin));
Serial.println("Now in IRQ.");
}
/*
int ledPin = LED_BUILTIN;
uint8_t buttonPin = PB9;
int LED = PB12;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(LED, OUTPUT);
interrupts();
//attachInterrupt(digitalPinToInterrupt(buttonPin), ISR, CHANGE );
attachInterrupt(digitalPinToInterrupt(buttonPin), ISR, FALLING );
digitalWrite(ledPin, LOW);
digitalWrite(LED, LOW);
Serial.println("Exit setup...");
ISR();
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
digitalWrite(LED, HIGH);
// digitalWrite(ledPin, LOW);
}
else {
digitalWrite(LED, HIGH);
// digitalWrite(ledPin, HIGH);
delay(100);
digitalWrite(LED, LOW);
// digitalWrite(ledPin, LOW);
delay(100);
}
}
void ISR() {
Serial.println("In ISR now.");
digitalWrite(ledPin, LOW);
//digitalWrite(ledPin, LOW);
}
*/Loading
stm32-bluepill
stm32-bluepill