Jan Boerman
/
timer_serial
A flickering 27-way LED light program
main.cpp@0:51ca5dbf6087, 2016-09-12 (annotated)
- Committer:
- Jankoekenpan
- Date:
- Mon Sep 12 11:13:22 2016 +0000
- Revision:
- 0:51ca5dbf6087
toggle leds :D
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jankoekenpan | 0:51ca5dbf6087 | 1 | #include "mbed.h" |
Jankoekenpan | 0:51ca5dbf6087 | 2 | |
Jankoekenpan | 0:51ca5dbf6087 | 3 | //Appearantly I cannot declare leds as volatile. I whish I could. |
Jankoekenpan | 0:51ca5dbf6087 | 4 | DigitalOut ledRed(LED_RED); |
Jankoekenpan | 0:51ca5dbf6087 | 5 | DigitalOut ledBlue(LED_BLUE); |
Jankoekenpan | 0:51ca5dbf6087 | 6 | DigitalOut ledGreen(LED_GREEN); |
Jankoekenpan | 0:51ca5dbf6087 | 7 | |
Jankoekenpan | 0:51ca5dbf6087 | 8 | Serial pc(USBTX, USBRX, "YOLO"); |
Jankoekenpan | 0:51ca5dbf6087 | 9 | |
Jankoekenpan | 0:51ca5dbf6087 | 10 | Ticker ticker; |
Jankoekenpan | 0:51ca5dbf6087 | 11 | |
Jankoekenpan | 0:51ca5dbf6087 | 12 | volatile bool red = false; |
Jankoekenpan | 0:51ca5dbf6087 | 13 | volatile bool green = false; |
Jankoekenpan | 0:51ca5dbf6087 | 14 | volatile bool blue = false; |
Jankoekenpan | 0:51ca5dbf6087 | 15 | |
Jankoekenpan | 0:51ca5dbf6087 | 16 | void tick() { |
Jankoekenpan | 0:51ca5dbf6087 | 17 | if (red) { |
Jankoekenpan | 0:51ca5dbf6087 | 18 | ledRed = !ledRed; |
Jankoekenpan | 0:51ca5dbf6087 | 19 | } |
Jankoekenpan | 0:51ca5dbf6087 | 20 | if (green) { |
Jankoekenpan | 0:51ca5dbf6087 | 21 | ledGreen = !ledGreen; |
Jankoekenpan | 0:51ca5dbf6087 | 22 | } |
Jankoekenpan | 0:51ca5dbf6087 | 23 | if (blue) { |
Jankoekenpan | 0:51ca5dbf6087 | 24 | ledBlue = !ledBlue; |
Jankoekenpan | 0:51ca5dbf6087 | 25 | } |
Jankoekenpan | 0:51ca5dbf6087 | 26 | } |
Jankoekenpan | 0:51ca5dbf6087 | 27 | |
Jankoekenpan | 0:51ca5dbf6087 | 28 | int main() |
Jankoekenpan | 0:51ca5dbf6087 | 29 | { |
Jankoekenpan | 0:51ca5dbf6087 | 30 | ticker.attach(&tick, 1); //schedule the tick function to be executed every second. |
Jankoekenpan | 0:51ca5dbf6087 | 31 | |
Jankoekenpan | 0:51ca5dbf6087 | 32 | pc.baud(115200); |
Jankoekenpan | 0:51ca5dbf6087 | 33 | pc.printf("Press 'r', 'g' or 'b' to toggle the RGB LEDs \r\n"); |
Jankoekenpan | 0:51ca5dbf6087 | 34 | |
Jankoekenpan | 0:51ca5dbf6087 | 35 | while (true) { |
Jankoekenpan | 0:51ca5dbf6087 | 36 | char c = pc.getc(); |
Jankoekenpan | 0:51ca5dbf6087 | 37 | switch(c) { |
Jankoekenpan | 0:51ca5dbf6087 | 38 | case 'r': |
Jankoekenpan | 0:51ca5dbf6087 | 39 | red = !red; |
Jankoekenpan | 0:51ca5dbf6087 | 40 | break; |
Jankoekenpan | 0:51ca5dbf6087 | 41 | case 'b': |
Jankoekenpan | 0:51ca5dbf6087 | 42 | blue = !blue; |
Jankoekenpan | 0:51ca5dbf6087 | 43 | break; |
Jankoekenpan | 0:51ca5dbf6087 | 44 | case 'g': |
Jankoekenpan | 0:51ca5dbf6087 | 45 | green = !green; |
Jankoekenpan | 0:51ca5dbf6087 | 46 | break; |
Jankoekenpan | 0:51ca5dbf6087 | 47 | } |
Jankoekenpan | 0:51ca5dbf6087 | 48 | } |
Jankoekenpan | 0:51ca5dbf6087 | 49 | } |