TimerLed

Dependencies:   mbed

Committer:
fpucher
Date:
Mon Dec 09 11:17:47 2019 +0000
Revision:
0:28ab61836d38
Child:
1:4f4f8acfae13
First Version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fpucher 0:28ab61836d38 1 #include "mbed.h"
fpucher 0:28ab61836d38 2 #define BUTTON1 p14 // push joystick pin
fpucher 0:28ab61836d38 3 //#define BUTTON1 A1 // NUCLEO Taster A1
fpucher 0:28ab61836d38 4
fpucher 0:28ab61836d38 5 DigitalOut led1(LED1);
fpucher 0:28ab61836d38 6 DigitalOut led2(LED2); // NUCLEO D2
fpucher 0:28ab61836d38 7 DigitalOut led3(LED3); // NUCLEO D3
fpucher 0:28ab61836d38 8
fpucher 0:28ab61836d38 9 Ticker t1;
fpucher 0:28ab61836d38 10 Timeout t2;
fpucher 0:28ab61836d38 11 InterruptIn btn(BUTTON1);
fpucher 0:28ab61836d38 12
fpucher 0:28ab61836d38 13 void blink_led1() {
fpucher 0:28ab61836d38 14 printf("Ticker fired\n");
fpucher 0:28ab61836d38 15 led1 = !led1;
fpucher 0:28ab61836d38 16 }
fpucher 0:28ab61836d38 17
fpucher 0:28ab61836d38 18 void toggle_led2() {
fpucher 0:28ab61836d38 19 printf("BUTTON1 fall invoked\n");
fpucher 0:28ab61836d38 20 led2 = !led2;
fpucher 0:28ab61836d38 21 }
fpucher 0:28ab61836d38 22
fpucher 0:28ab61836d38 23 void turn_led3_on() {
fpucher 0:28ab61836d38 24 printf("Timeout fired\n");
fpucher 0:28ab61836d38 25 led3 = 1;
fpucher 0:28ab61836d38 26 }
fpucher 0:28ab61836d38 27
fpucher 0:28ab61836d38 28 int main() {
fpucher 0:28ab61836d38 29 printf("Hello world!\n");
fpucher 0:28ab61836d38 30 printf("LED1 will blink every second, LED3 will toggle after 2.5 seconds, LED2 can be toggled through BUTTON1.\n");
fpucher 0:28ab61836d38 31 printf("-----------------------------------\n\n");
fpucher 0:28ab61836d38 32
fpucher 0:28ab61836d38 33 t1.attach(callback(&blink_led1), 1.0f);
fpucher 0:28ab61836d38 34 t2.attach(callback(&turn_led3_on), 2.5f);
fpucher 0:28ab61836d38 35 btn.fall(callback(&toggle_led2));
fpucher 0:28ab61836d38 36
fpucher 0:28ab61836d38 37 while(1) {}
fpucher 0:28ab61836d38 38 // wait_ms(osWaitForever);
fpucher 0:28ab61836d38 39 }