Mirjam Bos / Mbed 2 deprecated Exercise3_Tickerandmodserial

Dependencies:   MODSERIAL mbed

Committer:
Mirjam
Date:
Tue Sep 11 15:19:12 2018 +0000
Revision:
1:b483225a5411
Parent:
0:9ac802a0d2d9
Child:
2:51248529975d
Fixed char input in switch cases and char current State

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mirjam 0:9ac802a0d2d9 1 #include "mbed.h"
Mirjam 0:9ac802a0d2d9 2 #include "MODSERIAL.h"
Mirjam 1:b483225a5411 3 MODSERIAL pc(USBTX, USBRX);\
Mirjam 1:b483225a5411 4
Mirjam 0:9ac802a0d2d9 5 // Make a BlinkLEd function using Ticker
Mirjam 0:9ac802a0d2d9 6 //Wait for a character to arrive pc.getc() in the main loop,
Mirjam 0:9ac802a0d2d9 7 //if character == ‘r’  blink red LED
Mirjam 0:9ac802a0d2d9 8 //if character == ‘b’  blink blue LED
Mirjam 0:9ac802a0d2d9 9 //if character == ‘g’  blink green LED
Mirjam 0:9ac802a0d2d9 10
Mirjam 1:b483225a5411 11
Mirjam 0:9ac802a0d2d9 12 Ticker blink; //Maak ticker aan
Mirjam 0:9ac802a0d2d9 13
Mirjam 1:b483225a5411 14 //enum states {r,b,g}; //Define possible states
Mirjam 1:b483225a5411 15 char currentState; //Make variable currentState
Mirjam 0:9ac802a0d2d9 16
Mirjam 0:9ac802a0d2d9 17 DigitalOut ledr(LED_RED);
Mirjam 0:9ac802a0d2d9 18 DigitalOut ledb(LED_BLUE);
Mirjam 0:9ac802a0d2d9 19 DigitalOut ledg(LED_GREEN);
Mirjam 0:9ac802a0d2d9 20
Mirjam 0:9ac802a0d2d9 21 void BlinkLed(void)
Mirjam 0:9ac802a0d2d9 22 {
Mirjam 0:9ac802a0d2d9 23 switch (currentState)
Mirjam 0:9ac802a0d2d9 24 {
Mirjam 1:b483225a5411 25 case 'r': //If the input character is r
Mirjam 0:9ac802a0d2d9 26 ledr = !ledr;
Mirjam 0:9ac802a0d2d9 27 break;
Mirjam 0:9ac802a0d2d9 28
Mirjam 1:b483225a5411 29 case 'b': //If the input character is b
Mirjam 0:9ac802a0d2d9 30 ledb = !ledb;
Mirjam 0:9ac802a0d2d9 31 break;
Mirjam 0:9ac802a0d2d9 32
Mirjam 1:b483225a5411 33 case 'g': //If the input character is g
Mirjam 0:9ac802a0d2d9 34 ledg= !ledg;
Mirjam 0:9ac802a0d2d9 35 break;
Mirjam 0:9ac802a0d2d9 36
Mirjam 0:9ac802a0d2d9 37 default:
Mirjam 0:9ac802a0d2d9 38 // pc.print("There is no input");
Mirjam 0:9ac802a0d2d9 39 break;
Mirjam 0:9ac802a0d2d9 40 } // End of switch
Mirjam 1:b483225a5411 41 }
Mirjam 0:9ac802a0d2d9 42
Mirjam 0:9ac802a0d2d9 43 int main()
Mirjam 0:9ac802a0d2d9 44 {
Mirjam 0:9ac802a0d2d9 45 blink.attach(BlinkLed,1); //Gaat elke seconde checken
Mirjam 0:9ac802a0d2d9 46 pc.baud(115200); //Instelling voor pc
Mirjam 0:9ac802a0d2d9 47
Mirjam 0:9ac802a0d2d9 48 char c; // Maak character c aan
Mirjam 0:9ac802a0d2d9 49 c = pc.getc(); // Maak die gelijk aan ingevoerde character
Mirjam 0:9ac802a0d2d9 50
Mirjam 0:9ac802a0d2d9 51 while (true) {
Mirjam 0:9ac802a0d2d9 52 currentState = c;
Mirjam 0:9ac802a0d2d9 53 BlinkLed();
Mirjam 0:9ac802a0d2d9 54 }
Mirjam 0:9ac802a0d2d9 55 }