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

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

サンプルコード
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
}

 
 

シェアする

フォローする