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.
main.cpp
00001 // 00002 // The SKPang board has a joystick wired to pins 21 to 25. 00003 // This is my first go at using BusIn to read multiple pins as a bus. 00004 // My biggest surprise is that the pins are high all the time unless the joysick goes left, right, up, down, click 00005 // at which time each goes low. 00006 // The text output goes to the serial out, if it is running, and the Mbed internal leds represent: 00007 // 1 = left 00008 // 2 = up 00009 // 3 = down 00010 // 4 = right 00011 // all = click 00012 // 00013 #include "mbed.h" 00014 00015 BusIn joystick(p21, p22, p23, p24, p25); 00016 Timer mytimer; 00017 DigitalOut myledLeft(LED1); 00018 DigitalOut myledUp(LED2); 00019 DigitalOut myledDown(LED3); 00020 DigitalOut myledRight(LED4); 00021 00022 int main() { 00023 mytimer.start(); 00024 00025 int intStart = mytimer.read_ms(); 00026 while(1) { 00027 if((mytimer.read_ms() - intStart) >= 250) 00028 { 00029 myledLeft = 0; 00030 myledUp = 0; 00031 myledDown = 0; 00032 myledRight = 0; 00033 intStart = mytimer.read_ms(); 00034 switch(joystick) { 00035 case 0x00: 00036 printf("0x00\r\n"); 00037 break; 00038 case 0x01: 00039 printf("0x01\r\n"); 00040 break; 00041 case 0x02: 00042 printf("0x02\r\n"); 00043 break; 00044 case 0x03: 00045 printf("0x03\r\n"); 00046 break; 00047 case 0x04: 00048 printf("0x04\r\n"); 00049 break; 00050 case 0x05: 00051 printf("0x05\r\n"); 00052 break; 00053 case 0x06: 00054 printf("0x06\r\n"); 00055 break; 00056 case 0x07: 00057 printf("0x07 Up and Left\r\n"); 00058 myledUp = 1; 00059 myledLeft = 1; 00060 break; 00061 case 0x08: 00062 printf("0x08\r\n"); 00063 break; 00064 case 0x09: 00065 printf("0x09\r\n"); 00066 break; 00067 case 0x0a: 00068 printf("0x0a\r\n"); 00069 break; 00070 case 0x0b: 00071 printf("0x0b\r\n"); 00072 break; 00073 case 0x0c: 00074 printf("0x0c\r\n"); 00075 break; 00076 case 0x0d: 00077 printf("0x0d Up and Right\r\n"); 00078 myledUp = 1; 00079 myledRight = 1; 00080 break; 00081 case 0x0e: 00082 printf("0x0e\r\n"); 00083 break; 00084 case 0x0f: 00085 printf("0x0f Up\r\n"); 00086 myledUp = 1; 00087 break; 00088 case 0x10: 00089 printf("0x10\r\n"); 00090 break; 00091 case 0x11: 00092 printf("0x11\r\n"); 00093 break; 00094 case 0x12: 00095 printf("0x12\r\n"); 00096 break; 00097 case 0x13: 00098 printf("0x13 Down and Left\r\n"); 00099 myledDown = 1; 00100 myledLeft = 1; 00101 break; 00102 case 0x14: 00103 printf("0x14\r\n"); 00104 break; 00105 case 0x15: 00106 printf("0x15\r\n"); 00107 break; 00108 case 0x16: 00109 printf("0x16\r\n"); 00110 break; 00111 case 0x17: 00112 printf("0x17 Left\r\n"); 00113 myledLeft = 1; 00114 break; 00115 case 0x18: 00116 printf("0x18\r\n"); 00117 break; 00118 case 0x19: 00119 printf("0x19 Down and Right\r\n"); 00120 myledDown = 1; 00121 myledRight = 1; 00122 break; 00123 case 0x1a: 00124 printf("0x1a\r\n"); 00125 break; 00126 case 0x1b: 00127 printf("0x1b Down\r\n"); 00128 myledDown = 1; 00129 break; 00130 case 0x1c: 00131 printf("0x1c\r\n"); 00132 break; 00133 case 0x1d: 00134 printf("0x1d Right\r\n"); 00135 myledRight = 1; 00136 break; 00137 case 0x1e: 00138 printf("0x1e Click\r\n"); 00139 myledLeft = 1; 00140 myledUp = 1; 00141 myledDown = 1; 00142 myledRight = 1; 00143 break; 00144 case 0x1f: 00145 printf("0x1f Nothing pressed\r\n"); 00146 break; 00147 } 00148 } 00149 } 00150 }
Generated on Fri Jul 15 2022 05:01:58 by
1.7.2