Control an LED from a computer via the serial port

Dependencies:   mbed

Committer:
ethanharstad
Date:
Fri Jun 06 19:21:27 2014 +0000
Revision:
1:c064570d8b35
Parent:
0:da809d54f2ce
Add comments

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ethanharstad 0:da809d54f2ce 1 #include "mbed.h"
ethanharstad 0:da809d54f2ce 2
ethanharstad 0:da809d54f2ce 3 // Global variables
ethanharstad 1:c064570d8b35 4 DigitalOut led(LED1); // LED output
ethanharstad 1:c064570d8b35 5 Serial pc(USBTX, USBRX); // Computer serial port
ethanharstad 0:da809d54f2ce 6
ethanharstad 0:da809d54f2ce 7 // Function prototypes
ethanharstad 0:da809d54f2ce 8 void handleInput(char in);
ethanharstad 0:da809d54f2ce 9
ethanharstad 0:da809d54f2ce 10 // Main function
ethanharstad 0:da809d54f2ce 11 int main() {
ethanharstad 1:c064570d8b35 12 while(true) { // Main loop
ethanharstad 1:c064570d8b35 13 if(pc.readable()) { // Can we read?
ethanharstad 1:c064570d8b35 14 char c = pc.getc(); // Read a character
ethanharstad 1:c064570d8b35 15 handleInput(c); // Handle the input
ethanharstad 0:da809d54f2ce 16 }
ethanharstad 1:c064570d8b35 17 } // Repeat
ethanharstad 0:da809d54f2ce 18 }
ethanharstad 0:da809d54f2ce 19
ethanharstad 0:da809d54f2ce 20 // Input handler
ethanharstad 0:da809d54f2ce 21 void handleInput(char in) {
ethanharstad 1:c064570d8b35 22 if(in == 'H') { // Is input H?
ethanharstad 1:c064570d8b35 23 led = 1; // Turn on LED
ethanharstad 1:c064570d8b35 24 } else if(in == 'L') { // Is input L?
ethanharstad 1:c064570d8b35 25 led = 0; // Turn off LED
ethanharstad 0:da809d54f2ce 26 }
ethanharstad 0:da809d54f2ce 27 }