mbedでInterruptInのテスト
どうもRamencozoです(´ω`)ノ
DigitalIn/OutとAnalogInの記事書いたあとでめっちゃ簡単にポート割込みなコードできたので即投げ(ノ´ω`)ノ
と言ってもほとんどUsers » okini3939 » Notebook » InterruptIn - ピン変化割込みを丸パクでやってみたというだけなのですがががが(´ω`)
main.cpp / TestInterruptIn
#include "mbed.h" InterruptIn intButton(p21); DigitalOut actionLED(LED1); DigitalOut statusLED(LED4); void actionPerformed(){ actionLED = !actionLED; wait(0.2); } int main() { intButton.rise(&actionPerformed); while(1) { statusLED = !statusLED; wait(0.25); } }
ちなみにInterruptInについていくつか付記(これも参考まんまです)
初期化 -> InterruptIn name(pin);
※ name: 名前(自由に決めて良い)
※ pin: ピン名(p19, p20以外)
立ち上がり割り込み -> name.rize(fptr);
Class中での利用 -> name.rize(&this, T::mptr);
※ fptr: 割り込み処理関数のポインタ
立ち下がり割り込み -> name.fall(fptr);
Class中での利用 -> name.fall(&this, T::mptr);
※ fptr: 割り込み処理関数のポインタ
プルアップ・プルダウン -> name.mode(mode);
※ モードは以下の3つ
・PullUp -> プルアップ
・PullDown -> プルダウン
・PullNone -> なし(フロート)
(*´ω`*)めっちゃカンタンでした