A clock with Grove - 4 Digit Display
Dependencies: DigitDisplay mbed
main.cpp
- Committer:
- yihui
- Date:
- 2014-04-28
- Revision:
- 0:99516934afee
File content as of revision 0:99516934afee:
#include "mbed.h" #include "DigitDisplay.h" DigitDisplay display(P1_14, P1_13); // 4-Digit Display connected to UART Grove connector DigitalOut led(LED1); DigitalOut led2(LED2); Ticker tick; uint8_t hour = 0; uint8_t minute = 0; uint8_t second = 0; uint8_t colon = 0; uint8_t display_buffer[4] = {0, 0, 0, 0}; void handler(void) { display.setColon(colon); led2 = !led2; if (colon) { colon = 0; second++; if (second >= 60) { second = 0; minute++; if (minute >= 60) { minute = 0; hour++; if (hour >= 24) { hour = 0; } } display_buffer[0] = hour / 10; display_buffer[1] = hour % 10; display_buffer[2] = minute / 10; display_buffer[3] = minute % 10; display.write(display_buffer); } } else { colon = 1; } } int main() { display.write(display_buffer); tick.attach(handler, 0.5); while(1) { led = !led; wait(0.5); } }