Chiaki Kanazawa / Mbed OS momentary_LED_program
Committer:
knzw
Date:
Sun Sep 15 07:21:09 2019 +0000
Revision:
0:48ce5ea63822
Press USER_BUTTON0 to light up the LED.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
knzw 0:48ce5ea63822 1 /* mbed Microcontroller Library
knzw 0:48ce5ea63822 2 * Copyright (c) 2018 ARM Limited
knzw 0:48ce5ea63822 3 * SPDX-License-Identifier: Apache-2.0
knzw 0:48ce5ea63822 4 */
knzw 0:48ce5ea63822 5
knzw 0:48ce5ea63822 6 /* ボタン押している間なにかする処理のサンプルプログラム的な(モーメンタリ動作というらしい) */
knzw 0:48ce5ea63822 7 #include "mbed.h"
knzw 0:48ce5ea63822 8
knzw 0:48ce5ea63822 9 DigitalOut led1(LED1);
knzw 0:48ce5ea63822 10 DigitalOut led2(LED2);
knzw 0:48ce5ea63822 11 DigitalOut led3(LED3);
knzw 0:48ce5ea63822 12 DigitalOut led4(LED4);
knzw 0:48ce5ea63822 13
knzw 0:48ce5ea63822 14 #define SLEEP_TIME 500 // (msec)
knzw 0:48ce5ea63822 15 #define PRINT_AFTER_N_LOOPS 20
knzw 0:48ce5ea63822 16
knzw 0:48ce5ea63822 17 static InterruptIn btn0(USER_BUTTON0);
knzw 0:48ce5ea63822 18 static bool btndownflg=false; //falseのとき、ボタンを離している
knzw 0:48ce5ea63822 19
knzw 0:48ce5ea63822 20 void btnfall0(void){
knzw 0:48ce5ea63822 21 btndownflg=true;//ボタンおした
knzw 0:48ce5ea63822 22 }
knzw 0:48ce5ea63822 23
knzw 0:48ce5ea63822 24 void btnrise0(void){
knzw 0:48ce5ea63822 25 btndownflg=false;//ボタンはなれた
knzw 0:48ce5ea63822 26 }
knzw 0:48ce5ea63822 27
knzw 0:48ce5ea63822 28
knzw 0:48ce5ea63822 29 int main(){
knzw 0:48ce5ea63822 30
knzw 0:48ce5ea63822 31 btn0.fall(&btnfall0); //ボタンを押したときに関数btnfall0を呼び出す
knzw 0:48ce5ea63822 32 btn0.rise(&btnrise0); //ボタンを離したときに関数をbtnrise0を呼び出す
knzw 0:48ce5ea63822 33
knzw 0:48ce5ea63822 34 while (true) {
knzw 0:48ce5ea63822 35 if(btndownflg){
knzw 0:48ce5ea63822 36 led1=true;
knzw 0:48ce5ea63822 37 led2=true;
knzw 0:48ce5ea63822 38 led3=true;
knzw 0:48ce5ea63822 39 led4=true;
knzw 0:48ce5ea63822 40 }else{
knzw 0:48ce5ea63822 41 led1=false;
knzw 0:48ce5ea63822 42 led2=false;
knzw 0:48ce5ea63822 43 led3=false;
knzw 0:48ce5ea63822 44 led4=false;
knzw 0:48ce5ea63822 45 }
knzw 0:48ce5ea63822 46 }
knzw 0:48ce5ea63822 47 }