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.
