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

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

?? main.c.bak

?? 基于UCOS的萬年歷
?? BAK
?? 第 1 頁 / 共 2 頁
字號:
        } else {
            MONTH += uiTimedata;		                                        
        }
        break;
    case 6:                                                             /*  設置日期                    */
        DOM += (INT32S)(uiTimedata*10);
        if (DOM == 0) {
            if (uiTimedata == 1) { 
            DOM = 1;
            } else {
            DOM = 31;
            }	
        }
        break;
    case 7:
        DOM += uiTimedata;
        if (DOM == 0) {
            if (uiTimedata == 1) { 
            DOM = 1;
            } else {
            DOM = 31;
            }	
        }
        break;
    case 8:                                                    
        DOW += uiTimedata;
        break;
    case 9:                                                             /*  設置小時                    */
        HOUR += (INT32S)(uiTimedata*10);
        if (HOUR > 23) {
            if (uiTimedata == 1) { 
            HOUR = 0;
            } else {
            HOUR = 23;
            }	
        }                                        
        break;
    case 10:
        HOUR += uiTimedata;
        if (HOUR > 23) {
            if (uiTimedata == 1) { 
            HOUR = 0;
            } else {
            HOUR = 23;
            }	
        }         	   
        break;
    case 11:
        MIN += (INT32S)(uiTimedata*10);                                 /*  設置分鐘                    */
        if (MIN > 59) {
            if (uiTimedata == 1) { 
            MIN = 0;
            } else {
            MIN = 59;
            }	
        }         
        break;
    case 12:
        MIN += uiTimedata;
        if (MIN > 59) {
            if (uiTimedata == 1) { 
            MIN = 0;
            } else {
            MIN = 59;
            }	
        }      
        break;
    case 13:                                                            /*  設置秒鐘                    */
        SEC += (INT32S)(uiTimedata*10);
        if (SEC > 59) {
            if (uiTimedata == 1) { 
            SEC = 0;
            } else {
            SEC = 59;
            }	
        }      
        break;
    case 14:
        SEC += uiTimedata;
        if (SEC > 59) {
            if (uiTimedata == 1) { 
            SEC = 0;
            } else {
            SEC = 59;
            }	
        }      
        break;
    }
   
}

/*******************************************************************************************
** Function name:      weekdayGet
** Descriptions:       根據輸入的日期,計算該日期對應的星期數。
** Input parameters:  uiYear   年
                       uiMonth  月
                       uiDay    日    
** Output parameters: 無
** Returned value:     對應的星期數
*******************************************************************************************/
INT32U weekdayGet(INT32U uiYear,INT32U uiMonth,INT32U uiDay)   
{   
    INT32U  uiDays[12] = {31,59,90,120,151,181,212,243,273,304,334,365};   
    INT32U  uiNum;
    uiNum = (INT32U)((uiYear-1L)*365 + uiDay + (uiYear-1L)/4 - (uiYear-1L)/100 + (uiYear-1L)/400);   
    if(uiMonth > 1)   
        uiNum+=uiDays[uiMonth-2];   
    if((uiMonth > 2)&&(uiYear%4==0&&uiYear%100!=0||uiYear%400==0))   
        uiNum++;   
    return   uiNum % 7;   
}   


/*********************************************************************************************************
** Function name :     main
** Descriptions  :     主函數
** Input parameters:   無 
** Output parameters:  無 
********************************************************************************************************/
int main (void)
{
    OSInit(); 
    OSTaskCreate(TaskKey,
                    (void *)0,
                    &TASKKEY_STACK[TASKKEY_STACK_SIZE-1],
                    2
                    ); 
             
                              
    OSStart();
    return 0;                                       
}
		
/*******************************************************************************************
** Function name:      TaskKey
** Descriptions:       鍵盤任務
** Input  parameters:  無
** Output parameters:  無 
*******************************************************************************************/
void TaskKey (void *pdata)
{   
    INT32U uiKey,uiKey0,uiKeyMsg,uiModeFlag=0;
	INT16U TimeSet[7] = {2007,3,2,5,15,05,30};	                        /*  用于設定RTC的初始時間        */
    pdata = pdata;
#if OS_CRITICAL_METHOD == 3				                                
    OS_CPU_SR  cpu_sr;
#endif	
    TargetInit();
    gpioInit();
    
    RtcBox = OSMboxCreate((void *)0);
    KeyBox = OSMboxCreate((void *)0);
    OSTaskCreate(TaskDisp,
                   (void *)0,
                   &TASKDISP_STACK[TASKDISP_STACK_SIZE-1],
                   4
                   );
    OSTaskCreate(TaskSet,
                   (void *)0,
                   &TASKSET_STACK[TASKSET_STACK_SIZE-1],
                   3
                   );
    rtcInit(TimeSet);	                                                /*  初始化RTC內部的時間值,并且設*/
                                                                        /*  定為秒值產生增量時,中斷產生 */
    
    while(1) {	 
        OSTimeDly(1);                                                   /*  延時                         */
        uiKey = keyIn();                                                /*  獲取按鍵操作信息             */ 
        if ((uiKey == 0) | (uiKey !=uiKey0)) {                          /*  未按鍵或與上次不同           */
            uiKey0 =uiKey;                                              /*  記錄本次按鍵                 */ 
            continue;                                                   /*  再延時                       */
        } else {
            BUZZER_Set();
        }
        switch(uiKey) {                                                 /*  有按鍵,并已經穩定,則根據按 */                      
                                                                        /*  鍵不同,執行不同的處理。     */
            case KEY1:
            if ( 0==uiModeFlag ) {
                PCONP |=  (1<<9);
                CCR  = 0x10;                                            /*  停止RTC計數                  */
                uiModeFlag=1;
            } else {
                CCR  = 0x11;                                            /*  啟動RTC計數                  */
                PCONP &= ~(1<<9);	
                uiModeFlag=0;
            }
            case KEY2:
            case KEY3:
            case KEY4:
                uiKeyMsg=uiKey;
                OSMboxPost(KeyBox,(void *)&uiKeyMsg);
                break;
        }  	
        while ((uiKey&IO0PIN) == 0) {                                   /*  等待按鍵釋放。               */   
            OSTimeDly(1);
        }	  	
        BUZZER_Clr();		
    }
}


/*******************************************************************************************
** Function name:      TaskDisp
** Descriptions:       時間更新時,讀取RTC的時間值,并將讀出的時分秒值通過串口0送到上位機的EASYARM.exe顯示。
** Input parameters:  無
** Output parameters: 無
*******************************************************************************************/
void TaskDisp (void *pdata)
{
    INT8U err;
    void *pTimeMsg;
    pdata = pdata;
#if OS_CRITICAL_METHOD == 3				
    OS_CPU_SR  cpu_sr;
#endif
    while(1) {	 
        pTimeMsg = OSMboxPend(RtcBox,0,&err);          	                /*  等待消息郵箱Rtcbox有效       */   
        timeDisp (*(INT32U*)pTimeMsg,           		                /*  將RTC數據發送到PC機的萬年    */  
                  *((INT32U*)pTimeMsg+1));           	                /*  歷顯示窗口                   */  
    }

}


/*******************************************************************************************
** Function name:      TaskSet
** Descriptions:       設置任務
** Input parameters:  無
** Output parameters: 無
*******************************************************************************************/
void TaskSet(void *pdata)
{
    INT8U err,n;
    INT32U uiDates,uiTimes,uiTimedata,uiLoopCnt;
    void *pKeyMsg;
    uiLoopCnt = 16;
    n = 0;
    pdata = pdata;
#if OS_CRITICAL_METHOD == 3				
    OS_CPU_SR  cpu_sr;
#endif
    while(1) {
pend:   pKeyMsg = OSMboxPend(KeyBox,0,&err);
        if (*(INT32U*)pKeyMsg!=KEY1) {
            continue;
        }
        while(1) {
            pKeyMsg = OSMboxAccept(KeyBox);                             /*  無等待獲取鍵盤消息           */
            if (pKeyMsg != (void *)0) {
                switch (*(INT32U*)pKeyMsg) {
                case KEY1:
                    goto  pend;                                         /*  返回顯示模式                 */
                case KEY2:
                    if ((n == 7) | (n == 3)) {
                        n++;
                    }
                    n=(INT8U)((n+1)%15);                                /*  得到下一選中數據位的對應編號 */
                    break;
                case KEY3:                                              /*  將選中的數據位加一           */
                    timeSet(n,1);
                    break;
                case KEY4:
                    timeSet(n,-1);                                      /*  將選中的數據位減一           */
                    break;
                }
                
                DOW = weekdayGet((INT32U)YEAR,                          /*  由年月日得到對應的星期數     */
                                 (INT32U)MONTH,
                                 (INT32U)DOM);
                uiTimes = (INT32U)CTIME0;				                /*  讀取完整的時鐘寄存器         */
                uiDates = (INT32U)CTIME1;
                timeDisp(uiTimes,uiDates);
            }
            
            uiLoopCnt--;                                                /*  循環計數減一                 */
            if (8==uiLoopCnt) {
                uiTimedata = timeGet(n);
                pcDispChar(n, SHOWTABLE[uiTimedata]);
            } else if (0==uiLoopCnt) {
                pcDispChar(n,0);
                uiLoopCnt=16; 
            }
            OSTimeDly(10);
        }
    }
    
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产aⅴ入口| 精品国产精品网麻豆系列| 青青草国产精品亚洲专区无| 国产精品欧美极品| 在线播放中文一区| av一区二区三区在线| 麻豆久久久久久| 亚洲欧美国产77777| 2020国产精品| 这里只有精品视频在线观看| 大陆成人av片| 国产综合色在线视频区| 午夜精品免费在线| 一区在线中文字幕| 精品福利一二区| 欧美日韩国产大片| 色综合久久久久久久| 国产成人精品影院| 毛片基地黄久久久久久天堂| 亚洲国产你懂的| 亚洲三级在线看| 中文字幕免费在线观看视频一区| 欧美v国产在线一区二区三区| 欧美综合亚洲图片综合区| 丁香婷婷综合色啪| 国产在线精品一区在线观看麻豆| 丝袜美腿亚洲一区二区图片| 亚洲精品欧美在线| 国内精品伊人久久久久影院对白| 亚洲成精国产精品女| 亚洲欧美一区二区不卡| 国产日韩影视精品| 久久你懂得1024| 精品免费一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 韩国欧美一区二区| 免费观看日韩av| 日本在线不卡视频| 日韩中文字幕一区二区三区| 亚洲午夜免费福利视频| 亚洲激情av在线| 亚洲免费毛片网站| 亚洲精品菠萝久久久久久久| 专区另类欧美日韩| 亚洲精品国产a| 亚洲天天做日日做天天谢日日欢| 国产精品国产三级国产普通话蜜臀| 欧美经典一区二区三区| 国产亚洲人成网站| 中文字幕成人av| 国产精品全国免费观看高清| 中文字幕一区二区三区色视频| 国产精品人人做人人爽人人添| 国产精品欧美久久久久一区二区 | 国产精品色哟哟网站| 国产女主播一区| 亚洲天堂2014| 亚洲成av人片| 久久er99热精品一区二区| 极品尤物av久久免费看| 国产剧情av麻豆香蕉精品| 国产精品99久| 色综合久久久久综合| 欧美日韩成人高清| 精品久久一二三区| 国产精品卡一卡二卡三| 一区二区在线观看不卡| 婷婷国产在线综合| 韩国av一区二区三区四区| 国产mv日韩mv欧美| 一本大道久久a久久精品综合| 欧美三级韩国三级日本一级| 日韩欧美一二三| 国产精品无人区| 亚洲午夜免费电影| 国产制服丝袜一区| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美羞羞免费网站| 日韩美女视频一区二区在线观看| 欧美国产成人精品| 亚洲第一av色| 国产精品一区专区| 91国产成人在线| 日韩精品一区二区三区在线 | 日韩综合在线视频| 国产精品1区二区.| 欧美视频第二页| 欧美精品一区二区三区蜜臀| 亚洲人成亚洲人成在线观看图片 | 久久爱另类一区二区小说| 99精品久久只有精品| 欧美一区二区在线视频| 中文字幕一区二区三区四区不卡| 日韩国产欧美在线视频| av不卡在线观看| 欧美一级午夜免费电影| 成人欧美一区二区三区白人| 五月天亚洲精品| aa级大片欧美| 精品日产卡一卡二卡麻豆| 一区二区三区波多野结衣在线观看| 麻豆极品一区二区三区| 91福利在线免费观看| 久久精品在这里| 蜜臀av一区二区| 欧美在线一二三| 中文字幕欧美一| 国产精品一区二区免费不卡| 欧美日产在线观看| 亚洲日本va午夜在线影院| 黑人精品欧美一区二区蜜桃 | 欧美一区永久视频免费观看| 日韩理论片一区二区| 国产精品主播直播| 日韩欧美不卡一区| 天使萌一区二区三区免费观看| 一本在线高清不卡dvd| 国产欧美日产一区| 久久福利视频一区二区| 欧美妇女性影城| 亚洲精品欧美激情| 成人激情开心网| 国产亚洲成aⅴ人片在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美揉bbbbb揉bbbbb| 亚洲女爱视频在线| 99麻豆久久久国产精品免费优播| 久久精品网站免费观看| 狠狠色丁香九九婷婷综合五月| 日韩一区二区三区四区| 视频在线在亚洲| 欧美日韩高清在线| 五月天欧美精品| 91精品国产一区二区三区香蕉| 亚洲一区二区三区在线看| 97久久超碰精品国产| 亚洲欧美国产三级| 91麻豆精品在线观看| 中文字幕综合网| 色屁屁一区二区| 一区二区三区欧美视频| 色综合亚洲欧洲| 一级女性全黄久久生活片免费| 欧美在线视频你懂得| 亚洲国产视频直播| 欧美军同video69gay| 日韩制服丝袜先锋影音| 91精品国产色综合久久不卡电影| 日日摸夜夜添夜夜添精品视频| 欧美一区二区三区在线视频| 玖玖九九国产精品| 久久婷婷国产综合精品青草| 国产精品综合网| 国产精品国产馆在线真实露脸| av在线综合网| 亚洲国产sm捆绑调教视频| 欧美精品一二三| 捆绑紧缚一区二区三区视频| www成人在线观看| 成人国产一区二区三区精品| 亚洲日本va午夜在线影院| 欧美三级视频在线| 狠狠色丁香久久婷婷综| 国产精品国产三级国产aⅴ原创 | 久久激情综合网| 久久久www成人免费无遮挡大片| 高清shemale亚洲人妖| 亚洲区小说区图片区qvod| 欧美日韩在线观看一区二区| 麻豆高清免费国产一区| 日本一区二区三区久久久久久久久不 | 视频在线观看一区二区三区| 精品sm在线观看| 色综合一个色综合| 日韩av不卡在线观看| 国产亚洲一区二区在线观看| 一本大道久久a久久精品综合| 蜜臀精品久久久久久蜜臀| 国产精品久久夜| 欧美一级日韩不卡播放免费| 懂色一区二区三区免费观看| 亚洲成人资源在线| 欧美高清在线一区二区| 欧美日韩一区二区三区四区| 精品一区二区久久久| 自拍偷拍国产精品| 欧美第一区第二区| 一本久久精品一区二区| 激情综合亚洲精品| 一卡二卡欧美日韩| 国产日韩欧美a| 制服丝袜中文字幕一区| 99亚偷拍自图区亚洲| 免费成人在线播放| 一区二区久久久| 国产欧美日韩一区二区三区在线观看| 欧美性感一区二区三区| 国产a久久麻豆| 天堂va蜜桃一区二区三区漫画版| 日本一二三四高清不卡|