Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp
00001 #include "mbed.h" 00002 00003 #define USE_PRINTF (1) 00004 00005 // Joystick button 00006 InterruptIn center(JOYSTICK_CENTER); 00007 InterruptIn left(JOYSTICK_LEFT); 00008 InterruptIn right(JOYSTICK_RIGHT); 00009 InterruptIn up(JOYSTICK_UP); 00010 InterruptIn down(JOYSTICK_DOWN); 00011 00012 // LEDs 00013 DigitalOut led_green(LED1); 00014 DigitalOut led_red(LED2); 00015 00016 void center_released() { 00017 led_green = 0; 00018 #if USE_PRINTF == 1 00019 printf("center button released\n"); 00020 #endif 00021 } 00022 00023 void center_pressed() { 00024 led_green = 1; 00025 #if USE_PRINTF == 1 00026 printf("center button pressed\n"); 00027 #endif 00028 } 00029 00030 void left_released() { 00031 led_green = 0; 00032 #if USE_PRINTF == 1 00033 printf("left button released\n"); 00034 #endif 00035 } 00036 00037 void left_pressed() { 00038 led_green = 1; 00039 #if USE_PRINTF == 1 00040 printf("left button pressed\n"); 00041 #endif 00042 } 00043 00044 void right_released() { 00045 led_green = 0; 00046 #if USE_PRINTF == 1 00047 printf("right button released\n"); 00048 #endif 00049 } 00050 00051 void right_pressed() { 00052 led_green = 1; 00053 #if USE_PRINTF == 1 00054 printf("right button pressed\n"); 00055 #endif 00056 } 00057 00058 void up_released() { 00059 led_green = 0; 00060 #if USE_PRINTF == 1 00061 printf("up button released\n"); 00062 #endif 00063 } 00064 00065 void up_pressed() { 00066 led_green = 1; 00067 #if USE_PRINTF == 1 00068 printf("up button pressed\n"); 00069 #endif 00070 } 00071 00072 void down_released() { 00073 led_green = 0; 00074 #if USE_PRINTF == 1 00075 printf("down button released\n"); 00076 #endif 00077 } 00078 00079 void down_pressed() { 00080 led_green = 1; 00081 #if USE_PRINTF == 1 00082 printf("down button pressed\n"); 00083 #endif 00084 } 00085 00086 int main() { 00087 00088 #if USE_PRINTF == 1 00089 int i = 0; 00090 printf("\nStart!\n"); 00091 #endif 00092 00093 // Both rise and fall edges generate an interrupt 00094 center.fall(¢er_released); 00095 center.rise(¢er_pressed); 00096 left.fall(&left_released); 00097 left.rise(&left_pressed); 00098 right.fall(&right_released); 00099 right.rise(&right_pressed); 00100 up.fall(&up_released); 00101 up.rise(&up_pressed); 00102 down.fall(&down_released); 00103 down.rise(&down_pressed); 00104 00105 // Add pull-down on these pins 00106 // Warning: must be done AFTER edges setting 00107 left.mode(PullDown); 00108 right.mode(PullDown); 00109 up.mode(PullDown); 00110 down.mode(PullDown); 00111 00112 while (1) { 00113 led_red = !led_red; 00114 wait(1.0); 00115 #if USE_PRINTF == 1 00116 printf("main %d\n", i++); 00117 #endif 00118 } 00119 }
Generated on Mon Jul 18 2022 12:57:15 by
1.7.2