Robert Labuz
/
DISCO-F429ZI_LEDs_Button_1c
1c
main.cpp@0:50954cecffbf, 2017-05-05 (annotated)
- Committer:
- Robsonik16
- Date:
- Fri May 05 19:42:02 2017 +0000
- Revision:
- 0:50954cecffbf
a
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Robsonik16 | 0:50954cecffbf | 1 | #include "mbed.h" |
Robsonik16 | 0:50954cecffbf | 2 | |
Robsonik16 | 0:50954cecffbf | 3 | DigitalOut led_green(LED1); |
Robsonik16 | 0:50954cecffbf | 4 | DigitalOut led_red(LED2); |
Robsonik16 | 0:50954cecffbf | 5 | |
Robsonik16 | 0:50954cecffbf | 6 | InterruptIn user_button(USER_BUTTON); |
Robsonik16 | 0:50954cecffbf | 7 | |
Robsonik16 | 0:50954cecffbf | 8 | float delay_on = 0.2; |
Robsonik16 | 0:50954cecffbf | 9 | float delay_off = 1.0; |
Robsonik16 | 0:50954cecffbf | 10 | enum led {LED_1,LED_2}; |
Robsonik16 | 0:50954cecffbf | 11 | enum led eLed=LED_2; |
Robsonik16 | 0:50954cecffbf | 12 | void button_pressed() |
Robsonik16 | 0:50954cecffbf | 13 | { |
Robsonik16 | 0:50954cecffbf | 14 | eLed=LED_1; |
Robsonik16 | 0:50954cecffbf | 15 | delay_on = 0.2; |
Robsonik16 | 0:50954cecffbf | 16 | delay_off = 0.2; |
Robsonik16 | 0:50954cecffbf | 17 | } |
Robsonik16 | 0:50954cecffbf | 18 | |
Robsonik16 | 0:50954cecffbf | 19 | void button_released() |
Robsonik16 | 0:50954cecffbf | 20 | { |
Robsonik16 | 0:50954cecffbf | 21 | eLed=LED_2; |
Robsonik16 | 0:50954cecffbf | 22 | delay_on = 0.2; |
Robsonik16 | 0:50954cecffbf | 23 | delay_off = 0.2; |
Robsonik16 | 0:50954cecffbf | 24 | } |
Robsonik16 | 0:50954cecffbf | 25 | |
Robsonik16 | 0:50954cecffbf | 26 | int main() |
Robsonik16 | 0:50954cecffbf | 27 | { |
Robsonik16 | 0:50954cecffbf | 28 | user_button.rise(&button_pressed); |
Robsonik16 | 0:50954cecffbf | 29 | user_button.fall(&button_released); |
Robsonik16 | 0:50954cecffbf | 30 | |
Robsonik16 | 0:50954cecffbf | 31 | while(1) { |
Robsonik16 | 0:50954cecffbf | 32 | // LEDs are ON |
Robsonik16 | 0:50954cecffbf | 33 | if(eLed == LED_1) |
Robsonik16 | 0:50954cecffbf | 34 | led_green = 1; |
Robsonik16 | 0:50954cecffbf | 35 | else |
Robsonik16 | 0:50954cecffbf | 36 | led_red = 1; |
Robsonik16 | 0:50954cecffbf | 37 | wait(delay_on); |
Robsonik16 | 0:50954cecffbf | 38 | // LEDs are OFF |
Robsonik16 | 0:50954cecffbf | 39 | |
Robsonik16 | 0:50954cecffbf | 40 | led_green = 0; |
Robsonik16 | 0:50954cecffbf | 41 | led_red = 0; |
Robsonik16 | 0:50954cecffbf | 42 | wait(delay_off); |
Robsonik16 | 0:50954cecffbf | 43 | } |
Robsonik16 | 0:50954cecffbf | 44 | } |