http://mbed.org/users/jf1vrr/programs/RTC8564NB_Clock/lqbcpuを改造してシリアルに垂れ流すようにしたもの。日時は手で設定

Dependencies:   mbed

Committer:
misodengaku
Date:
Tue Jun 19 15:52:45 2012 +0000
Revision:
0:bfb6e89e28ae

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
misodengaku 0:bfb6e89e28ae 1 //Based on http://mbed.org/users/jf1vrr/programs/RTC8564NB_Clock/lqbcpu
misodengaku 0:bfb6e89e28ae 2
misodengaku 0:bfb6e89e28ae 3 #include "mbed.h"
misodengaku 0:bfb6e89e28ae 4 #include "RTC8564.h"
misodengaku 0:bfb6e89e28ae 5
misodengaku 0:bfb6e89e28ae 6 Serial pc(USBTX, USBRX);
misodengaku 0:bfb6e89e28ae 7
misodengaku 0:bfb6e89e28ae 8 char year, month, day, week;
misodengaku 0:bfb6e89e28ae 9 char hour, minute, sec;
misodengaku 0:bfb6e89e28ae 10
misodengaku 0:bfb6e89e28ae 11 char week_chr[7][4] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
misodengaku 0:bfb6e89e28ae 12
misodengaku 0:bfb6e89e28ae 13
misodengaku 0:bfb6e89e28ae 14 int main() {
misodengaku 0:bfb6e89e28ae 15 //2012.06.20 00:30:00 Wed
misodengaku 0:bfb6e89e28ae 16 rtc_setdaytime("12", "06", "20", "00", "30", "00", "3");
misodengaku 0:bfb6e89e28ae 17
misodengaku 0:bfb6e89e28ae 18 while(1) {
misodengaku 0:bfb6e89e28ae 19 year = rtc_read(YEARS);
misodengaku 0:bfb6e89e28ae 20 month = rtc_read(MONTHS);
misodengaku 0:bfb6e89e28ae 21 day = rtc_read(DAYS);
misodengaku 0:bfb6e89e28ae 22 week = rtc_read(WEEKDAYS);
misodengaku 0:bfb6e89e28ae 23 hour = rtc_read(HOURS);
misodengaku 0:bfb6e89e28ae 24 minute = rtc_read(MINUTES);
misodengaku 0:bfb6e89e28ae 25 sec = rtc_read(SECONDS);
misodengaku 0:bfb6e89e28ae 26 pc.printf("20%c%c/%c%c/%c%c %s\n",
misodengaku 0:bfb6e89e28ae 27 ((year >> 4) & 0x03) + 0x30, (year & 0x0F) + 0x30,
misodengaku 0:bfb6e89e28ae 28 ((month >> 4) & 0x01) + 0x30, (month & 0x0F) + 0x30,
misodengaku 0:bfb6e89e28ae 29 ((day >> 4) & 0x03)+ 0x30, (day & 0x0F) + 0x30,
misodengaku 0:bfb6e89e28ae 30 week_chr[week & 0x07]);
misodengaku 0:bfb6e89e28ae 31 pc.printf("%c%c:%c%c:%c%c\n",
misodengaku 0:bfb6e89e28ae 32 ((hour >> 4) & 0x03) + 0x30, (hour & 0x0F) + 0x30,
misodengaku 0:bfb6e89e28ae 33 (minute >> 4) + 0x30, (minute & 0x0F) + 0x30,
misodengaku 0:bfb6e89e28ae 34 (sec >> 4) + 0x30, (sec & 0x0F) + 0x30 );
misodengaku 0:bfb6e89e28ae 35
misodengaku 0:bfb6e89e28ae 36 wait(0.1);
misodengaku 0:bfb6e89e28ae 37 }
misodengaku 0:bfb6e89e28ae 38 }