Modified interesting blinky program for homework 4.1
Fork of blink_kl46z_button_LCD by
Diff: main.cpp
- Revision:
- 2:b49e5adf84df
- Parent:
- 1:2688f68df85d
- Child:
- 3:fc189dd7ac64
--- a/main.cpp Mon Sep 07 17:30:09 2015 +0000 +++ b/main.cpp Mon Sep 14 14:14:04 2015 +0000 @@ -1,4 +1,6 @@ #include "mbed.h" +#include "SLCD.h" + #define LEDON false #define LEDOFF true #define BUTDOWN false @@ -8,9 +10,16 @@ #define RBUT PTC3 #define BLINKTIME 0.3 #define REDMESS "RED LED is ON\r\n" // adding DR and line feed for terminal line advance -#define PROGNAME "blink_kl46z_buttton v1\r\n" +#define LCDCHARLEN 10 +#define NUMMESS 2 +#define LRED "RED" +#define LGREEN "GREN" +#define PRED "RED\r\n" +#define PGREEN "GREEN\r\n" +#define PROGNAME "blink_kl46z_buttton LCD v1\r\n" // slightly more interesting blinky 140814 sc +SLCD slcd; //define LCD display int ledState = LEDON; @@ -19,17 +28,29 @@ DigitalOut LEDs[NUMBUTS] = {LED_GREEN, LED_RED}; Serial pc(USBTX, USBRX);// set up USB as communicationis to Host PC via USB connectons +void LCDMess(char *lMess){ + slcd.Home(); + slcd.clear(); + slcd.printf(lMess); +} + // -------------------------------- int main() { int i; int currentLED = 0; + char rMess[NUMMESS][LCDCHARLEN]={LGREEN, LRED}; + char pMess[NUMMESS][LCDCHARLEN]={PRED, PGREEN}; pc.printf(PROGNAME); + + LCDMess(rMess[currentLED]); + pc.printf(pMess[currentLED]); while(true) { - for (i=0; i<NUMBUTS; i++){ + for (i=0; i<NUMBUTS; i++){ // index will be 0 or 1 LEDs[i] = LEDOFF; - if(buttons[i] == BUTDOWN) { - // red LED has an index of 1 see line 17 - if (i == 1) pc.printf(REDMESS); // this means that RED will be blinking + // if(buttons[i] == BUTDOWN) { + if(!buttons[i]) { + LCDMess(rMess[i]); + pc.printf(pMess[i]); // this means that RED will be blinking currentLED = i; } }