Control an LED from a computer via the serial port
Dependencies: mbed
PhysicalPixel.cpp@1:c064570d8b35, 2014-06-06 (annotated)
- 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?
User | Revision | Line number | New 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 | } |