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
main.cpp@1:26f253123e05, 2014-05-04 (annotated)
- 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?
User | Revision | Line number | New 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 | } |