a demo code to use the RTC of Seeed Arch GPRS V2.0

Dependencies:   DS1337 USBDevice mbed

Fork of Seeed_Arch_GPRS_V2_RTC_HelloWorld by wei zou

Committer:
lawliet
Date:
Sun May 04 09:12:38 2014 +0000
Revision:
1:26f253123e05
Parent:
0:262fddff13ae
update main.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lawliet 0:262fddff13ae 1 /*
lawliet 0:262fddff13ae 2 main.cpp
lawliet 0:262fddff13ae 3 2014 Copyright (c) Seeed Technology Inc. All right reserved.
lawliet 0:262fddff13ae 4
lawliet 0:262fddff13ae 5 Author:lawliet zou(lawliet.zou@gmail.com)
lawliet 0:262fddff13ae 6 2014-4-29
lawliet 0:262fddff13ae 7
lawliet 0:262fddff13ae 8 This library is free software; you can redistribute it and/or
lawliet 0:262fddff13ae 9 modify it under the terms of the GNU Lesser General Public
lawliet 0:262fddff13ae 10 License as published by the Free Software Foundation; either
lawliet 0:262fddff13ae 11 version 2.1 of the License, or (at your option) any later version.
lawliet 0:262fddff13ae 12
lawliet 0:262fddff13ae 13 This library is distributed in the hope that it will be useful,
lawliet 0:262fddff13ae 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
lawliet 0:262fddff13ae 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
lawliet 0:262fddff13ae 16 Lesser General Public License for more details.
lawliet 0:262fddff13ae 17
lawliet 0:262fddff13ae 18 You should have received a copy of the GNU Lesser General Public
lawliet 0:262fddff13ae 19 License along with this library; if not, write to the Free Software
lawliet 0:262fddff13ae 20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
lawliet 0:262fddff13ae 21 */
lawliet 0:262fddff13ae 22
lawliet 0:262fddff13ae 23 #include "mbed.h"
lawliet 0:262fddff13ae 24 #include "USBSerial.h"
lawliet 0:262fddff13ae 25 #include "DS1337.h"
lawliet 0:262fddff13ae 26
lawliet 0:262fddff13ae 27 USBSerial pc;
lawliet 0:262fddff13ae 28 DS1337 RTC_DS1337(P0_5,P0_4);
lawliet 0:262fddff13ae 29 typedef struct{
lawliet 0:262fddff13ae 30 int hour;
lawliet 0:262fddff13ae 31 int minutes;
lawliet 0:262fddff13ae 32 int second;
lawliet 0:262fddff13ae 33 int year;
lawliet 0:262fddff13ae 34 int month;
lawliet 0:262fddff13ae 35 int day;
lawliet 0:262fddff13ae 36 int week;
lawliet 0:262fddff13ae 37 }TIME_S;
lawliet 0:262fddff13ae 38
lawliet 0:262fddff13ae 39 TIME_S time_now;
lawliet 0:262fddff13ae 40
lawliet 0:262fddff13ae 41 void time_refresh()
lawliet 0:262fddff13ae 42 {
lawliet 0:262fddff13ae 43 RTC_DS1337.readTime();
lawliet 0:262fddff13ae 44 time_now.hour = RTC_DS1337.getHours();
lawliet 0:262fddff13ae 45 time_now.minutes = RTC_DS1337.getMinutes();
lawliet 0:262fddff13ae 46 time_now.second = RTC_DS1337.getSeconds();
lawliet 0:262fddff13ae 47 time_now.year = RTC_DS1337.getYears();
lawliet 0:262fddff13ae 48 time_now.month = RTC_DS1337.getMonths();
lawliet 0:262fddff13ae 49 time_now.day = RTC_DS1337.getDays();
lawliet 0:262fddff13ae 50 time_now.week = RTC_DS1337.getDayOfWeek();
lawliet 0:262fddff13ae 51 }
lawliet 0:262fddff13ae 52
lawliet 0:262fddff13ae 53 void setTime()
lawliet 0:262fddff13ae 54 {
lawliet 0:262fddff13ae 55 RTC_DS1337.setSeconds(50);
lawliet 0:262fddff13ae 56 RTC_DS1337.setMinutes(35);
lawliet 0:262fddff13ae 57 RTC_DS1337.setHours(17);
lawliet 0:262fddff13ae 58 RTC_DS1337.setDays(27);
lawliet 0:262fddff13ae 59 RTC_DS1337.setDayOfWeek(4);
lawliet 0:262fddff13ae 60 RTC_DS1337.setMonths(3);
lawliet 0:262fddff13ae 61 RTC_DS1337.setYears(2014);
lawliet 0:262fddff13ae 62 RTC_DS1337.setTime();
lawliet 0:262fddff13ae 63 }
lawliet 0:262fddff13ae 64
lawliet 0:262fddff13ae 65 void show_time()
lawliet 0:262fddff13ae 66 {
lawliet 0:262fddff13ae 67 pc.printf("Date: %d/%d/%d\r\n",time_now.year,time_now.month,time_now.day);
lawliet 0:262fddff13ae 68 pc.printf("Time: %d:%d:%d\r\n\r\n",time_now.hour,time_now.minutes,time_now.second);
lawliet 0:262fddff13ae 69 }
lawliet 0:262fddff13ae 70
lawliet 0:262fddff13ae 71 int main() {
lawliet 0:262fddff13ae 72 setTime();
lawliet 0:262fddff13ae 73 while(1) {
lawliet 0:262fddff13ae 74 time_refresh();
lawliet 0:262fddff13ae 75 show_time();
lawliet 0:262fddff13ae 76 wait(10);
lawliet 0:262fddff13ae 77 }
lawliet 0:262fddff13ae 78 }