I made a clock in mbed. mbed has RTC built-in. A convenient function is prepared for in the rtc_time function group of mbed.h. Because data are provided at the time when they give unix timestamp and ask it at suitable distance, a format to like it can be set and displays it to LCD. If unix timestamp is provided from web, it becomes more convenient. See: http://blogs.yahoo.co.jp/jf1vrr_station/19803647.html (Japanese)

Dependencies:   TextLCD mbed

Committer:
jf1vrr
Date:
Mon Apr 18 05:58:23 2011 +0000
Revision:
0:11c4cf24f38b
Rev. 0.01A 2011/04/18

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jf1vrr 0:11c4cf24f38b 1 /* I made a clock in mbed. mbed has RTC built-in.
jf1vrr 0:11c4cf24f38b 2 A convenient function is prepared for in the rtc_time
jf1vrr 0:11c4cf24f38b 3 function group of mbed.h. Because data are provided
jf1vrr 0:11c4cf24f38b 4 at the time when they give unix timestamp and ask it
jf1vrr 0:11c4cf24f38b 5 at suitable distance, a format to like it can be set
jf1vrr 0:11c4cf24f38b 6 and displays it to LCD. If unix timestamp is provided
jf1vrr 0:11c4cf24f38b 7 from web, it becomes more convenient.
jf1vrr 0:11c4cf24f38b 8 */
jf1vrr 0:11c4cf24f38b 9 #include "mbed.h"
jf1vrr 0:11c4cf24f38b 10 #include "TextLCD.h"
jf1vrr 0:11c4cf24f38b 11
jf1vrr 0:11c4cf24f38b 12 TextLCD lcd(p24, p26, p27, p28, p29, p30);
jf1vrr 0:11c4cf24f38b 13 int offset_JAPAN = 32400;
jf1vrr 0:11c4cf24f38b 14
jf1vrr 0:11c4cf24f38b 15 int main() {
jf1vrr 0:11c4cf24f38b 16 set_time(1303099200+offset_JAPAN); // Set RTC time to Mon, 18 Apr 2011 13:00:00
jf1vrr 0:11c4cf24f38b 17
jf1vrr 0:11c4cf24f38b 18 lcd.cls();
jf1vrr 0:11c4cf24f38b 19 while(1) {
jf1vrr 0:11c4cf24f38b 20 time_t seconds = time(NULL);
jf1vrr 0:11c4cf24f38b 21
jf1vrr 0:11c4cf24f38b 22 lcd.locate(0,0);
jf1vrr 0:11c4cf24f38b 23 char day[16];
jf1vrr 0:11c4cf24f38b 24 strftime(day, 16, "%Y/%m/%d %a\n", localtime(&seconds));
jf1vrr 0:11c4cf24f38b 25 lcd.printf("%s", day);
jf1vrr 0:11c4cf24f38b 26
jf1vrr 0:11c4cf24f38b 27 char time[16];
jf1vrr 0:11c4cf24f38b 28 strftime(time, 16, "%H:%M:%S\n", localtime(&seconds));
jf1vrr 0:11c4cf24f38b 29 lcd.locate(0,1);
jf1vrr 0:11c4cf24f38b 30 lcd.printf("%s", time);
jf1vrr 0:11c4cf24f38b 31
jf1vrr 0:11c4cf24f38b 32 wait(1.0);
jf1vrr 0:11c4cf24f38b 33 }
jf1vrr 0:11c4cf24f38b 34 }