Dependencies:   mbed

Committer:
bouguereau
Date:
Wed Aug 24 09:46:40 2011 +0000
Revision:
0:f8cf7fcd3e17

        

Who changed what in which revision?

UserRevisionLine numberNew 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 }