亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 2410rtc.c

?? 這個是三星arm9芯片的rtc源碼
?? 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 "2410addr.h"
#include "2410lib.h"
#include "2410RTC.h"

char *day[8] = {" ","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
volatile int isRtcInt, isInit = 2;              //April 01, 2002 SOP
volatile unsigned int sec_tick;

//=======================================
//Period = (n + 1) / 128 second
//   n : Tick time count value (1~127)
//=======================================
//********************[ Display_Rtc ]*********************************
void Display_Rtc(void)
{
//    int year,tmp;
    int year,tmp,key;                   
    int month,date,weekday,hour,min,sec;

    Uart_Printf("[ Display RTC Test ]\n");
    Uart_Printf("0. RTC Initialize     1. RTC Time Setting    2. Only RTC Display\n\n");
    Uart_Printf("Selet : ");
    key = Uart_GetIntNum();
    Uart_Printf("\n\n");
    
    isInit = key;

    if(isInit == 0)
    {
        Rtc_Init();
        isInit = 2;
    }
    
    else if(isInit == 1)
    {
        Rtc_TimeSet();
        isInit = 2;        
    }

    rRTCCON = 0x01;    //No reset, Merge BCD counters, 1/32768, RTC Control enable
//  Uart_Printf("This test should be excuted once RTC test(Alarm) for RTC initialization\n");
    Uart_Printf("Press any key to exit.\n\n");
    while(!Uart_GetKey())
    {    
        while(1)
        {
            if(rBCDYEAR==0x99) 
                year = 0x1999;
            else 
                year    = 0x2000 + rBCDYEAR;
            month   = rBCDMON;
            weekday = rBCDDAY;
            date    = rBCDDATE;
            hour    = rBCDHOUR;
            min     = rBCDMIN;
            sec     = rBCDSEC;
            
            if(sec!=tmp)                //Same time is not display
            {
                tmp = sec;
                break;
            }         
        }
        Uart_Printf("%02x : %02x : %02x  %10s,  %02x/%02x/%04x\r",hour,min,sec,day[weekday],month,date,year);
//        Uart_Printf("%2x : %2x : %2x  %9s,  %2x/%2x/%4x     rBCDDATE = %x, weekday= %x\n",hour,min,sec,day[weekday],month,date,year,rBCDDATE,weekday);        
    }
    rRTCCON = 0x0; //No reset, Merge BCD counters, 1/32768, RTC Control disable(for power consumption)
}

//***********************[ RndRst_Rtc ]*********************************
//Round boundary 30, 40 or 50 Sec
//For example, when the current time is 23:37:47 and the round baundary is selected to 40 sec,
//the round reset changes the current time is 23:38:00.
void RndRst_Rtc(void)
{
    int year;
    int month,date,weekday,hour,min,sec,tmp;
    unsigned int save_GPFCON;

    save_GPFCON = rGPFCON;

    rEXTINT0 = 0x2;  //Falling edge triggered
    rGPFCON  = 0x2;  //EINT0

    pISR_EINT0 = (unsigned int)EINT0_int;
    rINTMSK    = ~(BIT_EINT0);

    if(isInit==0)
    {
        Rtc_Init();
        isInit = 1;
    }

    rRTCCON = 0x01;    //No reset, Merge BCD counters, 1/32768, RTC Control enable
    Uart_Printf("Press any key to exit.\n\n");
    Uart_Printf("Press EINT0 key to test round reset.\n");
    
    while(!Uart_GetKey())
    {
        while(1)
        {
            if(rBCDYEAR == 0x99) 
                year = 0x1999;
            else 
                year    = 0x2000 + rBCDYEAR;
            month   = rBCDMON;
            weekday = rBCDDAY;
            date    = rBCDDATE;
            hour    = rBCDHOUR;
            min     = rBCDMIN;
            sec     = rBCDSEC;
            
            if(sec!=tmp)
            {
                tmp = sec;
                break;
            }
        }      
        Uart_Printf("%2x : %2x : %2x  %10s,  %2x/%2x/%4x\r",hour,min,sec,day[weekday],month,date,year);
    }
    rRTCCON = 0x0;   //No reset, Merge BCD counters, 1/32768, RTC Control disable
    rGPFCON = save_GPFCON;
}

//************************[ Test_Rtc_Alarm ]******************************
void Test_Rtc_Alarm(void)  
{
    Uart_Printf("[ RTC Alarm Test for S3C2410 ]\n");

    Rtc_Init();

    rRTCCON  = 0x01;                    //No reset, Merge BCD counters, 1/32768, RTC Control enable
    rALMYEAR = TESTYEAR2 ;
    rALMMON  = TESTMONTH2;
    rALMDATE = TESTDATE2  ;
    rALMHOUR = TESTHOUR2 ;
    rALMMIN  = TESTMIN2  ;
    rALMSEC  = TESTSEC2 + 9; 
    isRtcInt = 0;
    pISR_RTC = (unsigned int)Rtc_Int;
    rRTCALM  = 0x7f;                    //Global,Year,Month,Day,Hour,Minute,Second alarm enable
    rRTCCON  = 0x0;                     //No reset, Merge BCD counters, 1/32768, RTC Control disable
    rINTMSK  = ~(BIT_RTC);

    while(isRtcInt==0);
    
    rINTMSK = BIT_ALLMSK;
//  rRTCCON = 0x0;  //RTC  Control disable(for power consumption), 1/32768, Normal(merge), No reset
}

//************************[ 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(void)
{
    int syear,smonth,sdate,shour,smin,ssec;
    int sday;

    Uart_Printf("[ RTC Time Setting ]\n");
    Rtc_Init();         //RTC Initialize
    Uart_Printf("RTC Time Initialized ...\n");
    
    Uart_Printf("Year (Two digit the latest)[0x??] : ");
    syear = Uart_GetIntNum();
    
    Uart_Printf("Month                      [0x??] : ");
    smonth = Uart_GetIntNum();
    
    Uart_Printf("Date                       [0x??] : ");
    sdate = Uart_GetIntNum();
          
    Uart_Printf("\n1:Sunday  2:Monday  3:Thesday  4:Wednesday  5:Thursday  6:Friday  7:Saturday\n");
    Uart_Printf("Day of the week                   : ");
    sday = Uart_GetIntNum();
    
    Uart_Printf("Hour                       [0x??] : ");
    shour = Uart_GetIntNum();
    
    Uart_Printf("Minute                     [0x??] : ");
    smin = Uart_GetIntNum();
    
    Uart_Printf("Second                     [0x??] : ");
    ssec = Uart_GetIntNum();
    
    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    
}

//************************[ Test_Rtc_Tick ]****************************
void Test_Rtc_Tick(void)
{
    Uart_Printf("[ RTC Tick interrupt(1 sec) test for S3C2410 ]\n");
    Uart_Printf("Press any key to exit.\n"); 
    Uart_Printf("\n");  
    Uart_Printf("\n");      
    Uart_Printf("   ");    
        
    pISR_TICK = (unsigned)Rtc_Tick;
    sec_tick  = 1;
    rINTMSK   = ~(BIT_TICK); 
    rRTCCON   = 0x0;            //No reset[3], Merge BCD counters[2], BCD clock select XTAL[1], RTC Control disable[0]
    rTICNT    = (1<<7) + 127;   //Tick time interrupt enable, Tick time count value 127
                                //Period = (n + 1) / 128 second    n:Tick time count value(1~127)
    Uart_Getch();
    
    rINTMSK   = BIT_ALLMSK;
    rRTCCON   = 0x0;            //No reset[3], Merge BCD counters[2], BCD clock select XTAL[1], RTC Control disable[0]
}

//-----------------------------------------------------------------------
void EINT0_int(void)
{
    rSRCPND = BIT_EINT0;   
    rINTPND = BIT_EINT0;
    rINTPND;

    rRTCRST = (1<<3) | 3;   //Round second reset enable, over than 30 sec
}

//-----------------------------------------------------------------------
void Rtc_Int(void)
{
    rSRCPND = BIT_RTC;   
    rINTPND = BIT_RTC;
    rINTPND;

    Uart_Printf("RTC Alarm Interrupt O.K.\n");
    isRtcInt = 1;  
}

//---------------------------------------------------------------------
void Rtc_Tick(void)
{
    rSRCPND = BIT_TICK;   
    rINTPND = BIT_TICK;
    rINTPND;

    Uart_Printf("\b\b\b\b\b\b\b%03d sec",sec_tick++);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品成人在线观看| 亚洲制服丝袜在线| 亚洲视频在线观看三级| 亚洲成人一区在线| 国产成人亚洲综合色影视| 欧美在线色视频| 精品国精品自拍自在线| 一区二区在线观看视频| 国产一区二区伦理| 欧美精三区欧美精三区| 欧美激情一区二区三区蜜桃视频| 亚洲国产精品久久人人爱| 国产精品888| 日韩一区二区电影在线| 亚洲最快最全在线视频| 国产一区二区成人久久免费影院 | 国产精品三级电影| 久久精品国产在热久久| 欧美在线free| 亚洲欧洲99久久| 国产aⅴ精品一区二区三区色成熟| 欧美电影一区二区三区| 伊人夜夜躁av伊人久久| 91在线云播放| 亚洲欧洲美洲综合色网| 福利一区二区在线观看| 久久综合色婷婷| 久久99最新地址| 日韩三级视频在线看| 国产成人午夜精品影院观看视频 | 中文字幕永久在线不卡| 国内精品免费在线观看| 日韩美女一区二区三区四区| 亚洲国产欧美另类丝袜| 欧美性生活久久| 亚洲成人激情社区| 欧美精品免费视频| 蜜桃视频第一区免费观看| 日韩视频免费直播| 久久国产精品99久久人人澡| 日韩欧美区一区二| 韩国av一区二区三区| 久久久夜色精品亚洲| 成人性生交大片| 一区视频在线播放| 91成人在线免费观看| 亚洲成a人v欧美综合天堂| 欧美人牲a欧美精品| 奇米影视一区二区三区小说| 日韩欧美国产午夜精品| 欧美日韩亚洲综合| 亚洲一区二区四区蜜桃| 欧美精品一二三区| 久久黄色级2电影| 久久久国产午夜精品| 成人黄色小视频在线观看| 亚洲欧美另类久久久精品| 欧美亚洲国产一区二区三区va| 亚洲va天堂va国产va久| 精品国产乱码久久久久久牛牛| 国产精品18久久久久久vr| 国产午夜精品久久| 91麻豆swag| 日韩精品电影在线观看| 国产亚洲成av人在线观看导航 | 午夜电影网亚洲视频| 欧美一级xxx| 国产成人av一区二区三区在线 | 欧美精选在线播放| 激情深爱一区二区| 国产精品国产三级国产a| 欧美天堂一区二区三区| 寂寞少妇一区二区三区| 国产精品美女久久久久aⅴ| 在线观看av一区二区| 国产自产高清不卡| 亚洲综合视频在线| 久久精品欧美日韩| 欧美日韩国产一级| 丁香婷婷深情五月亚洲| 三级欧美韩日大片在线看| 国产精品人人做人人爽人人添| 91成人免费在线视频| 国产麻豆精品在线| 日韩精品三区四区| 亚洲日本一区二区| 久久日韩精品一区二区五区| 欧美亚洲高清一区| 成人深夜福利app| 久久国产视频网| 亚洲国产一区二区三区| 欧美国产一区二区| 日韩欧美国产1| 欧美日韩免费电影| 91麻豆6部合集magnet| 国产精品996| 极品瑜伽女神91| 蜜乳av一区二区| 亚洲综合在线免费观看| 中文字幕一区日韩精品欧美| 日韩一级黄色大片| 欧美日本国产一区| 欧美在线观看视频在线| 91在线观看免费视频| 高清成人在线观看| 丁香另类激情小说| 极品少妇xxxx精品少妇偷拍| 视频精品一区二区| 亚洲电影一级片| 亚洲一区二区三区爽爽爽爽爽| 国产精品久久久久久久久免费樱桃| 日韩午夜电影在线观看| 日本韩国欧美一区| 亚洲日本在线天堂| 日韩无一区二区| 日韩免费成人网| 日韩一区二区电影| 日韩欧美在线一区二区三区| 欧美日韩激情一区| 在线电影院国产精品| 欧美在线一区二区| 欧美精品三级在线观看| 欧美日韩高清影院| 欧美肥大bbwbbw高潮| 日韩亚洲欧美高清| 精品粉嫩aⅴ一区二区三区四区| 这里只有精品电影| 精品日韩欧美一区二区| 亚洲精品一线二线三线无人区| 欧美大片拔萝卜| 久久精品网站免费观看| 欧美国产一区二区| 一区二区三区视频在线观看| 亚洲激情中文1区| 首页国产欧美久久| 老汉av免费一区二区三区| 国产一区二区h| 成人白浆超碰人人人人| 欧美制服丝袜第一页| 欧美成人三级在线| 国产午夜精品久久久久久久| 日韩美女久久久| 五月综合激情日本mⅴ| 精品综合久久久久久8888| 国产成人亚洲精品狼色在线| 色噜噜狠狠色综合欧洲selulu| 欧美三级日韩三级国产三级| 日韩欧美国产电影| 中文字幕综合网| 美女视频一区二区| 成人高清视频在线| 欧美日本乱大交xxxxx| 久久先锋资源网| 一区二区三区日韩在线观看| 蜜臀久久久久久久| eeuss影院一区二区三区| 欧美日韩中文国产| 精品电影一区二区| 亚洲影视在线观看| 国产一级精品在线| 91成人免费网站| 久久九九全国免费| 亚洲chinese男男1069| 国产精品99久久久久久久女警 | 国产亚洲欧美中文| 亚洲女人小视频在线观看| 免费一级片91| 99精品一区二区三区| 欧美一级二级三级乱码| 亚洲精品乱码久久久久久| 麻豆精品国产传媒mv男同| 色综合色狠狠综合色| 精品福利在线导航| 亚洲va国产va欧美va观看| 成人丝袜18视频在线观看| 欧美一卡二卡在线观看| 亚洲免费成人av| 国产精品一二三四五| 7777精品伊人久久久大香线蕉| 日本一区二区三区国色天香| 午夜影院久久久| 色欧美88888久久久久久影院| 久久综合丝袜日本网| 日韩av一区二区三区| 日本福利一区二区| 国产精品国产三级国产aⅴ中文 | 亚洲精品视频免费观看| 国产露脸91国语对白| 日韩欧美亚洲一区二区| 亚洲一区二区三区四区在线免费观看 | 美洲天堂一区二卡三卡四卡视频| 色呦呦国产精品| 国产精品久久久久久久久搜平片 | 性做久久久久久久免费看| 91女厕偷拍女厕偷拍高清| 欧美激情一区二区三区不卡| 韩国精品在线观看| 久久一夜天堂av一区二区三区| 视频一区视频二区中文| 91麻豆精品国产91久久久久久久久|