NUCLEO-F401RE

■DigitalIn

デジタル入力ピンの値を読み取るために使用します。

Example

スイッチ入力(USER_BUTTON)でLED(LED1)が点灯するサンプルプログラム

main.cpp

#include "mbed.h"

DigitalIn enable(PC_13);
DigitalOut led(LED1);

int main() {
    while(1) {
        if(!enable) { // スイッチ入力時
            led = !led; // 出力レベル反転
        }
        wait(0.5);
    }
}

■InterruptIn

I/Oピンの立上がりまたは立下り変化により割込みを発生します。

Example

スイッチ(PC_13)を押した回数を2秒毎に表示するサンプルプログラム

main.cpp

#include "mbed.h"

class Counter {
public:
    Counter(PinName pin):_interrupt(pin) { // 割り込み入力ポートの宣言
        _interrupt.rise(this, &Counter::increment); // スイッチを押した時にincrement関数を呼ぶ
    }

    void increment() {
        _count++; // 回数を+1する
    }
    
    int read() {
        return _count; // 回数を読み出す
    }
    
private:
    InterruptIn _interrupt; // 割り込み入力ポートの宣言
    volatile int _count; // count変数の宣言
};

Counter counter(PC_13); // PC_13を割り込み入力ポートに指定

int main() {
    while(1) {
        printf("Count: %d\n", counter.read()); // 2秒間隔で表示
        wait(2);
    }
}


Please log in to post comments.