A flickering 27-way LED light program

Dependencies:   mbed

Committer:
Jankoekenpan
Date:
Mon Sep 12 11:13:22 2016 +0000
Revision:
0:51ca5dbf6087
toggle leds :D

Who changed what in which revision?

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