Clock
Dependencies: DS1307 Grove_Serial_LCD mbed
Diff: main.cpp
- Revision:
- 0:06a98b973b14
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Dec 09 08:46:52 2013 +0000 @@ -0,0 +1,33 @@ +#include "mbed.h" +#include "SerialLCD.h" +#include "ds1307.h" + +SerialLCD lcd(P1_13, P1_14); // Grove Serial LCD is connected to UART Tx and Rx pins +DS1307 rtc(P0_5, P0_4); // Grove RTC is connected to I2C SDA(P0_5) and SCL(P0_4) + +int main() { + const char *week[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + int sec, min, hour, day, date, month, year; + char strBuffer[16]; + + lcd.begin(); + lcd.print("Clock"); + rtc.start_clock(); + rtc.gettime(&sec, &min, &hour, &day, &date, &month, &year); + if (0 == year) { + rtc.settime(0, 0, 0, 4, 1, 1, 2014 % 100); // Jan 1st, 2014, Wed, 00:00:00 + } + + while(1) { + rtc.gettime(&sec, &min, &hour, &day, &date, &month, &year); + snprintf(strBuffer, sizeof(strBuffer), "%d-%d-%d %s", 2000 + year, month, date, week[day]); + lcd.setCursor(0, 0); + lcd.print(strBuffer); + snprintf(strBuffer, sizeof(strBuffer), "%d:%d:%d", hour, min, sec); + lcd.setCursor(0, 1); + lcd.print(strBuffer); + wait(0.5); + } +} + +