⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2410rtc.c

📁 2410 VxWorks RTC design.....it is useful....welcome to download
💻 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 + -