BOOTLOADER
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
rtc.c
Go to the documentation of this file.
1 /******************************************************
2 * Function: s3c2440 rtc driver
3 *
4 * File: interrupt.c
5 * Author: Book Chen
6 * Date: 2008.07.18
7 *******************************************************
8 */
9 #include "Includes.h"
10 
12 void F_RtcInit(void);
13 void F_RtcTimeGet(void);
14 void F_RtcTimeSet(void);
15 void F_RtcTimeYearSet(INT8U);
17 void F_RtcTimeDaySet(INT8U);
18 void F_RtcTimeDateSet(INT8U);
19 void F_RtcTimeHourSet(INT8U);
22 
23 void F_RtcInit(void){
24  rRTCCON=0x01; // rtc RW enable, bcd counter, no recovery,1/32768
25  rBCDYEAR=0x07; // set year
26  rBCDMON=0x09; // set month
27  rBCDDAY=0x08; // set day
28  rBCDDATE=0x6; // set date
29  rBCDHOUR=0x12; // set hour
30  rBCDMIN=0x27; // set minute
31  rBCDSEC=0x00; // set second
32  rRTCCON=0x00; // rtc RW disable, bcd counter. no recovery, 1/32768
33 }
34 void F_RtcSvc(void){}
35 void F_RtcTimeGet(void){
36  rRTCCON = 0x01; // enable rtc rw
37  if(rBCDYEAR==0x99) RtcCtrl.Year=0x1999;
38  else RtcCtrl.Year=0x2000+rBCDYEAR; // get rtc year
39  RtcCtrl.Month= rBCDMON; // get rtc month
40  RtcCtrl.Day= rBCDDAY; // get rtc day
41  RtcCtrl.Date= rBCDDATE; // get rtc date
42  RtcCtrl.Hour= rBCDHOUR; // get rtc hour
43  RtcCtrl.Minute=rBCDMIN; // get rtc minute
44  RtcCtrl.Second=rBCDSEC; // get rtc second
45  rRTCCON=0x00; // disable rtc rw
46 }
47 void F_RtcTimeSet(void){
48  rRTCCON= 0x01; // enable rtc rw
49  rBCDYEAR=RtcCtrl.Year&0xff; // set year
50  rBCDMON= RtcCtrl.Month; // set month
51  rBCDDAY= RtcCtrl.Day; // set day
52  rBCDDATE=RtcCtrl.Date; // set date
53  rBCDHOUR=RtcCtrl.Hour; // set hour
54  rBCDMIN= RtcCtrl.Minute; // set minute
55  rBCDSEC= RtcCtrl.Second; // set second
56  rRTCCON= 0x00; // disable rtc rw
57 }
59  rRTCCON=0x01;
60  rBCDYEAR=Year;
61  rRTCCON=0x00;
62 }
64  rRTCCON=0x01;
65  rBCDMON=Month;
66  rRTCCON=0x00;
67 }
69  rRTCCON=0x01;
70  rBCDDAY=Day;
71  rRTCCON=0x00;
72 }
74  rRTCCON=0x01;
75  rBCDDATE=Date;
76  rRTCCON=0x00;
77 }
79  rRTCCON=0x01;
80  rBCDHOUR=Hour;
81  rRTCCON=0x00;
82 }
84  rRTCCON=0x01;
85  rBCDMIN=Minute;
86  rRTCCON=0x00;
87 }
89  rRTCCON=0x01;
90  rBCDSEC=Second;
91  rRTCCON=0x00;
92 }