DebounceInをグローバル・スコープで実体化すると内部のTimer割込みで使われているコールバック関数が呼び出されないようだ。
#include "mbed.h" #include "DebounceIn.h" DebounceIn d(D2); DigitalOut led1(LED1); int main() { d.set_debounce_us(1000); d.mode(PullUp); while(1) { led1 = !d; } }
main関数内でDebouceIn::set_debouce_us()を呼び出してやれば動作した(コールバック関数が登録されなおす)。DebouceInのコンストラクタをローカルスコープで呼び出しても動作する。
参考:https://developer.mbed.org/forum/mbed/topic/5234/
0 件のコメント:
コメントを投稿