Kenji Arai
/
RTC_tst
This is a test program for RTC function.
main.cpp@0:9fac448e0530, 2010-03-27 (annotated)
- Committer:
- kenjiArai
- Date:
- Sat Mar 27 07:10:12 2010 +0000
- Revision:
- 0:9fac448e0530
Who changed what in which revision?
User | Revision | Line number | New 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 |