STM32/Arduino IDE の外部割り込みについて

Arduino Uno では外部割り込みに使えるピンが2つとされている。STM32/Arduinoで使える外部割り込みについて実験してみたところ、ポートAでは12ピン(PA0~PA10,PA15)、ポートBでは15ピン(PB0,PB1,PB3~PB15)が使えるようだ。ただし、ポートAとポートBを同時に使うことはできなかった。

volatile int state = LOW;

void setup() {
}

void loop() {
    pinMode(PC13, OUTPUT);          // PC13=LED
    pinMode(PA0,INPUT_PULLDOWN);    // PA0 プルダウン入力
    pinMode(PA1,INPUT_PULLUP);      // PA1 プルアップ入力
    attachInterrupt(PA0, blinkON, CHANGE);  // HIGHで割込発生
    attachInterrupt(PA1, blinkOFF, CHANGE); // LOWで割込発生
    while(1){
        digitalWrite(PC13, state);
    }
}

void blinkON() {
    state = LOW;
}

void blinkOFF() {
    state = HIGH;
}

 
 

シェアする

  • このエントリーをはてなブックマークに追加

フォローする