淳熙 姜
/
Pin_Interrupt
ピン変化割り込み
main.cpp
- Committer:
- Kansuni
- Date:
- 2015-05-14
- Revision:
- 0:6bbe13e9f388
File content as of revision 0:6bbe13e9f388:
//******************************************* // 割り込みのサンプルプログラム //******************************************* //ヘッダファイル(もしくはライブラリ)をインクルード #include "mbed.h" #include "main.h" //デジタル出力ピン(LED)の指定 DigitalOut Interrupt_LED1(dp9); DigitalOut Interrupt_LED2(dp10); DigitalOut Interrupt_LED3(dp11); DigitalOut myLED(LED1); //割り込み用ピンの指定(自動的に入力用に指定される) InterruptIn TactSwitch(dp26); int main(void){ //初期設定(すべてのLEDを消灯しておく) Interrupt_LED1 = LOW; Interrupt_LED2 = LOW; Interrupt_LED3 = LOW; myLED = LOW; //立ち上がり割り込み(dp26がHIGHならここを割り込みで実行) TactSwitch.rise(&LightFlash); while(1){ //メインLEDをチカチカさせる。割り込み動作中は止まる。 myLED = HIGH; wait(0.5); myLED = LOW; wait(0.5); } } //3連LEDを光らせる関数。プロトタイプ宣言はヘッダファイル内で行う。 void LightFlash(){ wait(0.01); //LEDを順に光らせる Interrupt_LED1 = HIGH; wait(0.01); Interrupt_LED2 = LOW; wait(0.01); Interrupt_LED3 = LOW; wait(0.5); Interrupt_LED1 = LOW; wait(0.01); Interrupt_LED2 = HIGH; wait(0.01); Interrupt_LED3 = LOW; wait(0.5); Interrupt_LED1 = LOW; wait(0.01); Interrupt_LED2 = LOW; wait(0.01); Interrupt_LED3 = HIGH; wait(0.5); Interrupt_LED1 = LOW; wait(0.01); Interrupt_LED2 = LOW; wait(0.01); Interrupt_LED3 = LOW; }