📄 2410rtc.c
字号:
/*====================================================================
File Name : 2410RTC.c
Function : S3C2410 RTC Test Program
Program : Shin, On Pil (SOP)
Date : May 06, 2002
Version : 0.0
History
0.0 : Programming start (March 11, 2002) -> SOP
====================================================================*/
#include "integrator.h"
#include "2410RTC.h"
char *day[8] = {" ","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
/*=======================================
Period = (n + 1) / 128 second
n : Tick time count value (1~127)
=======================================
********************[ Display_Rtc ]*********************************/
int* Display_Rtc(void)
{
int current_time[7]={0};
rRTCCON = 0x01; /*No reset, Merge BCD counters, 1/32768, RTC Control enable*/
if(rBCDYEAR==0x99)
current_time[0] = 0x1999;
else
current_time[0] = 0x2000 + rBCDYEAR;
current_time[1] = rBCDMON;
current_time[2] = rBCDDAY;
current_time[3] = rBCDDATE;
current_time[4] = rBCDHOUR;
current_time[5] = rBCDMIN;
current_time[6] = rBCDSEC;
rRTCCON = 0x0; /*No reset, Merge BCD counters, 1/32768, RTC Control disable(for power consumption)*/
return current_time;
}
/************************[ Rtc_Init ]*********************************/
void Rtc_Init(void)
{
rRTCCON = rRTCCON & ~(0xf) | 0x1; /*No reset, Merge BCD counters, 1/32768, RTC Control enable*/
rBCDYEAR = rBCDYEAR & ~(0xff) | TESTYEAR;
rBCDMON = rBCDMON & ~(0x1f) | TESTMONTH;
rBCDDATE = rBCDDATE & ~(0x3f) | TESTDATE;
rBCDDAY = rBCDDAY & ~(0x7) | TESTDAY; /*SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7*/
rBCDHOUR = rBCDHOUR & ~(0x3f) | TESTHOUR;
rBCDMIN = rBCDMIN & ~(0x7f) | TESTMIN;
rBCDSEC = rBCDSEC & ~(0x7f) | TESTSEC;
rRTCCON = 0x0; /*No reset, Merge BCD counters, 1/32768, RTC Control disable */
}
/************************[ Rtc_TimeSet ]*********************************/
void Rtc_TimeSet(int syear,int smonth,int sdate,int sday ,int shour,int smin,int ssec )
{
printf("[ RTC Time Setting ]\n");
Rtc_Init(); /*RTC Initialize*/
printf("RTC Time Initialized ...\n");
rRTCCON = rRTCCON & ~(0xf) | 0x1; /*No reset, Merge BCD counters, 1/32768, RTC Control enable*/
rBCDYEAR = rBCDYEAR & ~(0xff) | syear;
rBCDMON = rBCDMON & ~(0x1f) | smonth;
rBCDDAY = rBCDDAY & ~(0x7) | sday; /*SUN:1 MON:2 TUE:3 WED:4 THU:5 FRI:6 SAT:7*/
rBCDDATE = rBCDDATE & ~(0x3f) | sdate;
rBCDHOUR = rBCDHOUR & ~(0x3f) | shour;
rBCDMIN = rBCDMIN & ~(0x7f) | smin;
rBCDSEC = rBCDSEC & ~(0x7f) | ssec;
rRTCCON = 0x0; /*No reset, Merge BCD counters, 1/32768, RTC Control disable */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -