François .
/
Ctrl_Leds_Via_Serial
Ctrl_Leds_via_Serial.cpp@0:f8cf7fcd3e17, 2011-08-24 (annotated)
- Committer:
- bouguereau
- Date:
- Wed Aug 24 09:46:40 2011 +0000
- Revision:
- 0:f8cf7fcd3e17
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bouguereau | 0:f8cf7fcd3e17 | 1 | /*Control mBed LEDs via Serial Port of PC. |
bouguereau | 0:f8cf7fcd3e17 | 2 | -->By Kailash.P.Sivanesan, Nov 5th 2010. |
bouguereau | 0:f8cf7fcd3e17 | 3 | |
bouguereau | 0:f8cf7fcd3e17 | 4 | Use Hyperterminal (or RealTerm or your favorite terminal program) to read and write data to your mBed board. |
bouguereau | 0:f8cf7fcd3e17 | 5 | |
bouguereau | 0:f8cf7fcd3e17 | 6 | Pressing 1 on keyboard toggles first LED. |
bouguereau | 0:f8cf7fcd3e17 | 7 | Pressing 2 on keyboard toggles second LED. |
bouguereau | 0:f8cf7fcd3e17 | 8 | Pressing 3 on keyboard toggles third LED. |
bouguereau | 0:f8cf7fcd3e17 | 9 | Pressing 4 on keyboard toggles fourth LED. |
bouguereau | 0:f8cf7fcd3e17 | 10 | |
bouguereau | 0:f8cf7fcd3e17 | 11 | Pressing any other key on keyboard turns all LEDs off. |
bouguereau | 0:f8cf7fcd3e17 | 12 | |
bouguereau | 0:f8cf7fcd3e17 | 13 | For info on Serial Port settings, driver etc: |
bouguereau | 0:f8cf7fcd3e17 | 14 | http://mbed.org/handbook/Windows-serial-configuration |
bouguereau | 0:f8cf7fcd3e17 | 15 | http://mbed.org/handbook/Serial |
bouguereau | 0:f8cf7fcd3e17 | 16 | */ |
bouguereau | 0:f8cf7fcd3e17 | 17 | |
bouguereau | 0:f8cf7fcd3e17 | 18 | #include "mbed.h" |
bouguereau | 0:f8cf7fcd3e17 | 19 | |
bouguereau | 0:f8cf7fcd3e17 | 20 | DigitalOut myled1(LED1); |
bouguereau | 0:f8cf7fcd3e17 | 21 | DigitalOut myled2(LED2); |
bouguereau | 0:f8cf7fcd3e17 | 22 | DigitalOut myled3(LED3); |
bouguereau | 0:f8cf7fcd3e17 | 23 | DigitalOut myled4(LED4); |
bouguereau | 0:f8cf7fcd3e17 | 24 | |
bouguereau | 0:f8cf7fcd3e17 | 25 | Serial pc(p9, p10); |
bouguereau | 0:f8cf7fcd3e17 | 26 | |
bouguereau | 0:f8cf7fcd3e17 | 27 | void DecodeInput(char input); |
bouguereau | 0:f8cf7fcd3e17 | 28 | void OffAllLeds(void); |
bouguereau | 0:f8cf7fcd3e17 | 29 | |
bouguereau | 0:f8cf7fcd3e17 | 30 | int main() { |
bouguereau | 0:f8cf7fcd3e17 | 31 | char input = 'Z'; |
bouguereau | 0:f8cf7fcd3e17 | 32 | pc.printf("Looking for Serial Input...\r\n"); //Inform user that i am alive |
bouguereau | 0:f8cf7fcd3e17 | 33 | |
bouguereau | 0:f8cf7fcd3e17 | 34 | while(1){ |
bouguereau | 0:f8cf7fcd3e17 | 35 | input = pc.getc(); //Get user input |
bouguereau | 0:f8cf7fcd3e17 | 36 | pc.printf("Received: %c\r\n", input); |
bouguereau | 0:f8cf7fcd3e17 | 37 | DecodeInput(input); //Take action based on user input |
bouguereau | 0:f8cf7fcd3e17 | 38 | } |
bouguereau | 0:f8cf7fcd3e17 | 39 | } |
bouguereau | 0:f8cf7fcd3e17 | 40 | |
bouguereau | 0:f8cf7fcd3e17 | 41 | void DecodeInput(char input) |
bouguereau | 0:f8cf7fcd3e17 | 42 | { |
bouguereau | 0:f8cf7fcd3e17 | 43 | switch(input) |
bouguereau | 0:f8cf7fcd3e17 | 44 | { |
bouguereau | 0:f8cf7fcd3e17 | 45 | case '1': myled1 = !myled1.read(); |
bouguereau | 0:f8cf7fcd3e17 | 46 | break; |
bouguereau | 0:f8cf7fcd3e17 | 47 | case '2': myled2 = !myled2.read(); |
bouguereau | 0:f8cf7fcd3e17 | 48 | break; |
bouguereau | 0:f8cf7fcd3e17 | 49 | case '3': myled3 = !myled3.read(); |
bouguereau | 0:f8cf7fcd3e17 | 50 | break; |
bouguereau | 0:f8cf7fcd3e17 | 51 | case '4': myled4 = !myled4.read(); |
bouguereau | 0:f8cf7fcd3e17 | 52 | break; |
bouguereau | 0:f8cf7fcd3e17 | 53 | default: OffAllLeds(); |
bouguereau | 0:f8cf7fcd3e17 | 54 | break; |
bouguereau | 0:f8cf7fcd3e17 | 55 | } |
bouguereau | 0:f8cf7fcd3e17 | 56 | } |
bouguereau | 0:f8cf7fcd3e17 | 57 | |
bouguereau | 0:f8cf7fcd3e17 | 58 | void OffAllLeds() |
bouguereau | 0:f8cf7fcd3e17 | 59 | { |
bouguereau | 0:f8cf7fcd3e17 | 60 | myled1 = 0; |
bouguereau | 0:f8cf7fcd3e17 | 61 | myled2 = 0; |
bouguereau | 0:f8cf7fcd3e17 | 62 | myled3 = 0; |
bouguereau | 0:f8cf7fcd3e17 | 63 | myled4 = 0; |
bouguereau | 0:f8cf7fcd3e17 | 64 | |
bouguereau | 0:f8cf7fcd3e17 | 65 | return; |
bouguereau | 0:f8cf7fcd3e17 | 66 | } |