EET 3735 Rachid, Tyler, Ryan
Dependencies: BSP_DISCO_L476VG LCD_DISCO_L476VG mbed
Fork of DISCO_L476VG_leds_buttons by
Diff: main.cpp
- Revision:
- 0:267836e77e0c
- Child:
- 2:1b6162cd96d4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Aug 28 12:28:03 2015 +0000 @@ -0,0 +1,119 @@ +#include "mbed.h" + +#define USE_PRINTF (1) + +// Joystick button +InterruptIn center(JOYSTICK_CENTER); +InterruptIn left(JOYSTICK_LEFT); +InterruptIn right(JOYSTICK_RIGHT); +InterruptIn up(JOYSTICK_UP); +InterruptIn down(JOYSTICK_DOWN); + +// LEDs +DigitalOut led_green(LED1); +DigitalOut led_red(LED2); + +void center_released() { + led_green = 0; +#if USE_PRINTF == 1 + printf("center button released\n"); +#endif +} + +void center_pressed() { + led_green = 1; +#if USE_PRINTF == 1 + printf("center button pressed\n"); +#endif +} + +void left_released() { + led_green = 0; +#if USE_PRINTF == 1 + printf("left button released\n"); +#endif +} + +void left_pressed() { + led_green = 1; +#if USE_PRINTF == 1 + printf("left button pressed\n"); +#endif +} + +void right_released() { + led_green = 0; +#if USE_PRINTF == 1 + printf("right button released\n"); +#endif +} + +void right_pressed() { + led_green = 1; +#if USE_PRINTF == 1 + printf("right button pressed\n"); +#endif +} + +void up_released() { + led_green = 0; +#if USE_PRINTF == 1 + printf("up button released\n"); +#endif +} + +void up_pressed() { + led_green = 1; +#if USE_PRINTF == 1 + printf("up button pressed\n"); +#endif +} + +void down_released() { + led_green = 0; +#if USE_PRINTF == 1 + printf("down button released\n"); +#endif +} + +void down_pressed() { + led_green = 1; +#if USE_PRINTF == 1 + printf("down button pressed\n"); +#endif +} + +int main() { + +#if USE_PRINTF == 1 + int i = 0; + printf("\nStart!\n"); +#endif + + // Both rise and fall edges generate an interrupt + center.fall(¢er_released); + center.rise(¢er_pressed); + left.fall(&left_released); + left.rise(&left_pressed); + right.fall(&right_released); + right.rise(&right_pressed); + up.fall(&up_released); + up.rise(&up_pressed); + down.fall(&down_released); + down.rise(&down_pressed); + + // Add pull-down on these pins + // Warning: must be done AFTER edges setting + left.mode(PullDown); + right.mode(PullDown); + up.mode(PullDown); + down.mode(PullDown); + + while (1) { + led_red = !led_red; + wait(1.0); +#if USE_PRINTF == 1 + printf("main %d\n", i++); +#endif + } +}