This is a test program for RTC function.

Dependencies:   mbed

Committer:
kenjiArai
Date:
Sat Mar 27 07:10:12 2010 +0000
Revision:
0:9fac448e0530

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:9fac448e0530 1 //
kenjiArai 0:9fac448e0530 2 // RTC Test Program
kenjiArai 0:9fac448e0530 3 // Kenji Arai / JH1PJL
kenjiArai 0:9fac448e0530 4 // March 27th,2010 Started
kenjiArai 0:9fac448e0530 5 // March 27th,2010
kenjiArai 0:9fac448e0530 6 //
kenjiArai 0:9fac448e0530 7 #include "mbed.h"
kenjiArai 0:9fac448e0530 8 #include "TextLCD.h"
kenjiArai 0:9fac448e0530 9
kenjiArai 0:9fac448e0530 10 #define TIME_KEEP_AS_IS
kenjiArai 0:9fac448e0530 11 //#define STYLE1
kenjiArai 0:9fac448e0530 12 #define STYLE2
kenjiArai 0:9fac448e0530 13
kenjiArai 0:9fac448e0530 14 DigitalOut myled1(LED1); // Assign LED1 output port
kenjiArai 0:9fac448e0530 15 TextLCD lcd(p22, p28, p27, p26, p25, p24, p23, 40, 2); // rs,rw,e,d0,d1,d2,d3,40char's x 2 lines
kenjiArai 0:9fac448e0530 16
kenjiArai 0:9fac448e0530 17 int main() {
kenjiArai 0:9fac448e0530 18 char buf[40];
kenjiArai 0:9fac448e0530 19 time_t seconds;
kenjiArai 0:9fac448e0530 20
kenjiArai 0:9fac448e0530 21 #ifndef TIME_KEEP_AS_IS
kenjiArai 0:9fac448e0530 22 // setup time structure for 27 March 2010 13:24:00
kenjiArai 0:9fac448e0530 23 struct tm t;
kenjiArai 0:9fac448e0530 24 t.tm_sec = 00; // 0-59
kenjiArai 0:9fac448e0530 25 t.tm_min = 24; // 0-59
kenjiArai 0:9fac448e0530 26 t.tm_hour = 13; // 0-23
kenjiArai 0:9fac448e0530 27 t.tm_mday = 27; // 1-31
kenjiArai 0:9fac448e0530 28 t.tm_mon = 3; // 0-11
kenjiArai 0:9fac448e0530 29 t.tm_year = 110; // year since 1900
kenjiArai 0:9fac448e0530 30 seconds = mktime(&t);
kenjiArai 0:9fac448e0530 31 set_time(seconds);
kenjiArai 0:9fac448e0530 32 #endif
kenjiArai 0:9fac448e0530 33 lcd.cls();
kenjiArai 0:9fac448e0530 34 lcd.locate(0, 0);
kenjiArai 0:9fac448e0530 35 lcd.locate(0, 0); // 1st line top
kenjiArai 0:9fac448e0530 36 lcd.printf("since Jan.1,1970 = %d\n", seconds);
kenjiArai 0:9fac448e0530 37 wait(2.0);
kenjiArai 0:9fac448e0530 38 // If you have implemented the "Windows USB Serial Port Driver", you can use follows.
kenjiArai 0:9fac448e0530 39 // http://mbed.org/projects/handbook/wiki/WindowsSerialConfiguration
kenjiArai 0:9fac448e0530 40 printf("\r\n Start RTC Test Program\r\n ");
kenjiArai 0:9fac448e0530 41 #ifdef TIME_KEEP_AS_IS
kenjiArai 0:9fac448e0530 42 printf("Defined TIME_KEEP_AS_IS\r\n");
kenjiArai 0:9fac448e0530 43 #else
kenjiArai 0:9fac448e0530 44 printf("Not define TIME_KEEP_AS_IS\r\n");
kenjiArai 0:9fac448e0530 45 #endif
kenjiArai 0:9fac448e0530 46 for(;;){
kenjiArai 0:9fac448e0530 47 myled1 = 1;
kenjiArai 0:9fac448e0530 48 wait(0.5);
kenjiArai 0:9fac448e0530 49 myled1 = 0;
kenjiArai 0:9fac448e0530 50 wait(0.5);
kenjiArai 0:9fac448e0530 51 seconds = time(NULL);
kenjiArai 0:9fac448e0530 52 lcd.cls();
kenjiArai 0:9fac448e0530 53 lcd.locate(0, 0); // 1st line top
kenjiArai 0:9fac448e0530 54 lcd.printf("It is %d sec since Jan.1,1970\n", seconds);
kenjiArai 0:9fac448e0530 55 lcd.locate(0, 1); // 2nd line top
kenjiArai 0:9fac448e0530 56 #ifdef STYLE1
kenjiArai 0:9fac448e0530 57 // 27 Mar 2010 13:24:00
kenjiArai 0:9fac448e0530 58 strftime(buf,40, "%x %X \n", localtime(&seconds));
kenjiArai 0:9fac448e0530 59 #endif
kenjiArai 0:9fac448e0530 60 #ifdef STYLE2
kenjiArai 0:9fac448e0530 61 // 13:24:00 PM (2010/03/27)
kenjiArai 0:9fac448e0530 62 strftime(buf,40, "%I:%M:%S %p (%Y/%m/%d)\n", localtime(&seconds));
kenjiArai 0:9fac448e0530 63 #endif
kenjiArai 0:9fac448e0530 64 lcd.printf("Time = %s", buf);
kenjiArai 0:9fac448e0530 65 printf("Time = %s\r", buf);
kenjiArai 0:9fac448e0530 66 }
kenjiArai 0:9fac448e0530 67 }
kenjiArai 0:9fac448e0530 68