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

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

?? clk.c

?? uC_OS_II_外圍接口程序源代碼.rar
?? C
?? 第 1 頁 / 共 3 頁
字號:
* Description : Set the date and time of the time-of-day clock
* Arguments   : month     is the desired month   (1..12)
*               day       is the desired day     (1..31)
*               year      is the desired year    (2xxx)
*               hr        is the desired hour    (0..23)
*               min       is the desired minutes (0..59)
*               sec       is the desired seconds (0..59)
* Returns     : None.
* Notes       : It is assumed that you are specifying a correct date and time (i.e. there is no range
*               checking done by this function).
*********************************************************************************************************
*/

#if  CLK_DATE_EN
void  ClkSetDateTime (INT8U month, INT8U day, INT16U year, INT8U hr, INT8U min, INT8U sec)
{
    INT8U err;


    OSSemPend(ClkSem, 0, &err);                  /* Gain exclusive access to time-of-day clock         */
    ClkMonth = month;
    ClkDay   = day;
    ClkYear  = year;
    ClkHr    = hr;
    ClkMin   = min;
    ClkSec   = sec;
    ClkUpdateDOW();                              /* Compute the day of the week (i.e. Sunday ...)      */
    OSSemPost(ClkSem);                           /* Release access to time-of-day clock                */
}
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                          SET TIME ONLY
*
* Description : Set the time-of-day clock
* Arguments   : hr        is the desired hour    (0..23)
*               min       is the desired minutes (0..59)
*               sec       is the desired seconds (0..59)
* Returns     : None.
* Notes       : It is assumed that you are specifying a correct time (i.e. there is no range checking
*               done by this function).
*********************************************************************************************************
*/

void  ClkSetTime (INT8U hr, INT8U min, INT8U sec)
{
    OS_ENTER_CRITICAL();                         /* Gain exclusive access to time-of-day clock         */
    ClkHr  = hr;
    ClkMin = min;
    ClkSec = sec;
    OS_EXIT_CRITICAL();                          /* Release access to time-of-day clock                */
}

/*$PAGE*/
/*
*********************************************************************************************************
*                          SIGNAL CLOCK MODULE THAT A 'CLOCK TICK' HAS OCCURRED
*
* Description : This function is called by the 'clock tick' ISR on every tick.  This function is thus
*               responsible for counting the number of clock ticks per second.  When a second elapses,
*               this function will signal the time-of-day clock task.
* Arguments   : None.
* Returns     : None.
* Note(s)     : CLK_DLY_TICKS must be set to the number of ticks to produce 1 second.  
*               This would typically correspond to OS_TICKS_PER_SEC if you use uC/OS-II.
*********************************************************************************************************
*/

void  ClkSignalClk (void)
{
    ClkTickCtr++;                           /* count the number of 'clock ticks' for one second        */
    if (ClkTickCtr >= CLK_DLY_TICKS) {
        ClkTickCtr = 0;
        OSSemPost(ClkSemSec);               /* Signal that one second elapsed                          */
    }
}

/*
*********************************************************************************************************
*                                        TIME-OF-DAY CLOCK TASK
*
* Description : This task is created by ClkInit() and is responsible for updating the time and date.
*               ClkTask() executes every second.
* Arguments   : None.
* Returns     : None.
* Notes       : CLK_DLY_TICKS must be set to produce 1 second delays.
*********************************************************************************************************
*/

void  ClkTask (void *data)
{
    INT8U err;


    data = data;                            /* Avoid compiler warning (uC/OS requirement)              */
    for (;;) {

#if CLK_USE_DLY
        OSTimeDlyHMSM(0, 0, 1, 0);          /* Delay for one second                                    */
#else
        OSSemPend(ClkSemSec, 0, &err);      /* Wait for one second to elapse                           */
#endif

        OSSemPend(ClkSem, 0, &err);         /* Gain exclusive access to time-of-day clock              */
        if (ClkUpdateTime() == TRUE) {      /* Update the TIME (i.e. HH:MM:SS)                         */
#if CLK_DATE_EN
            ClkUpdateDate();                /* And date if a new day (i.e. MM-DD-YY)                   */
#endif
        }
#if CLK_TS_EN && CLK_DATE_EN
        ClkTS = ClkMakeTS(ClkMonth, ClkDay, ClkYear, ClkHr, ClkMin, ClkSec);
#endif
        OSSemPost(ClkSem);                  /* Release access to time-of-day clock                     */
    }
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                            UPDATE THE DATE
*
* Description : This function is called to update the date (i.e. month, day and year)
* Arguments   : None.
* Returns     : None.
* Notes       : This function updates ClkDay, ClkMonth, ClkYear and ClkDOW.
*********************************************************************************************************
*/

#if CLK_DATE_EN
static  void  ClkUpdateDate (void)
{
    BOOLEAN newmonth;


    newmonth = TRUE;
    if (ClkDay >= ClkMonthTbl[ClkMonth].MonthDays) {  /* Last day of the month?                        */
        if (ClkMonth == 2) {                          /* Is this February?                             */
            if (ClkIsLeapYear(ClkYear) == TRUE) {     /* Yes, Is this a leap year?                     */
                if (ClkDay >= 29) {                   /* Yes, Last day in february?                    */
                    ClkDay = 1;                       /* Yes, Set to 1st day in March                  */
                } else {
                    ClkDay++;
                    newmonth = FALSE;
                }
            } else {
                ClkDay = 1;
            }
        } else {
            ClkDay = 1;
        }
    } else {
        ClkDay++;
        newmonth = FALSE;
    }
    if (newmonth == TRUE) {                      /* See if we have completed a month                   */
        if (ClkMonth >= 12) {                    /* Yes, Is this december ?                            */
            ClkMonth = 1;                        /* Yes, set month to january...                       */
            ClkYear++;                           /*      ...we have a new year!                        */
        } else {
            ClkMonth++;                          /* No,  increment the month                           */
        }
    }
    ClkUpdateDOW();                              /* Compute the day of the week (i.e. Sunday ...)      */
}
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                         COMPUTE DAY-OF-WEEK
*
* Description : This function computes the day of the week (0 == Sunday) based on the current month,
*               day and year.
* Arguments   : None.
* Returns     : None.
* Notes       : - This function updates ClkDOW.
*               - This function is called by ClkUpdateDate().
*********************************************************************************************************
*/
#if CLK_DATE_EN
static  void  ClkUpdateDOW (void)
{
    INT16U dow;


    dow = ClkDay + ClkMonthTbl[ClkMonth].MonthVal;
    if (ClkMonth < 3) {
        if (ClkIsLeapYear(ClkYear)) {
            dow--;
        }
    }
    dow    += ClkYear + (ClkYear / 4);
    dow    += (ClkYear / 400) - (ClkYear / 100);
    dow    %= 7;
    ClkDOW  = dow;
}
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                            UPDATE THE TIME
*
* Description : This function is called to update the time (i.e. hours, minutes and seconds)
* Arguments   : None.
* Returns     : TRUE     if we have completed one day.
*               FALSE    otherwise
* Notes       : This function updates ClkSec, ClkMin and ClkHr.
*********************************************************************************************************
*/

static  BOOLEAN  ClkUpdateTime (void)
{
    BOOLEAN newday;


    newday = FALSE;                         /* Assume that we haven't completed one whole day yet      */
    if (ClkSec >= 59) {                     /* See if we have completed one minute yet                 */
        ClkSec = 0;                         /* Yes, clear seconds                                      */
        if (ClkMin >= 59) {                 /*    See if we have completed one hour yet                */
            ClkMin = 0;                     /*    Yes, clear minutes                                   */
            if (ClkHr >= 23) {              /*        See if we have completed one day yet             */
                ClkHr = 0;                  /*        Yes, clear hours ...                             */
                newday    = TRUE;           /*        ... change flag to indicate we have a new day    */
            } else {
                ClkHr++;                    /*        No,  increment hours                             */
            }
        } else {
            ClkMin++;                       /*    No,  increment minutes                               */
        }
    } else {
        ClkSec++;                           /* No,  increment seconds                                  */
    }
    return (newday);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲精品一区二区| 欧美精品99久久久**| 九九热在线视频观看这里只有精品| 亚洲综合丁香婷婷六月香| 国产精品久久影院| 国产精品久久二区二区| 国产精品美女久久久久av爽李琼| 国产精品免费视频一区| 国产精品少妇自拍| 亚洲欧洲三级电影| 依依成人综合视频| 日韩中文字幕91| 蜜桃一区二区三区四区| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久99久久99精品免视看婷婷| 精品制服美女久久| 国产成人日日夜夜| 91免费视频网址| 欧美日韩高清在线播放| 欧美不卡一二三| 久久精品欧美日韩精品| 亚洲欧美中日韩| 丝袜亚洲另类欧美综合| 久久精品国产一区二区三| 国产成人亚洲综合a∨猫咪| 成人av网站在线观看| 欧美亚洲日本国产| 日韩欧美一二区| 欧美韩国日本一区| 亚洲国产综合色| 国产一区二区精品久久91| 成人激情文学综合网| 欧美羞羞免费网站| 国产91在线|亚洲| 色综合天天综合| 精品区一区二区| 亚洲欧美自拍偷拍| 久久99蜜桃精品| 日本道免费精品一区二区三区| 日韩精品专区在线影院观看| 亚洲欧美视频在线观看| 激情亚洲综合在线| 欧美日韩五月天| 国产精品网站在线观看| 日韩中文字幕麻豆| 99精品久久免费看蜜臀剧情介绍| 欧美伦理影视网| 一区在线中文字幕| 国产一区二区在线观看免费| 欧美精品一二三| 亚洲人成7777| 国产成a人无v码亚洲福利| 91精品国产乱| 亚洲成av人片| 色欧美乱欧美15图片| 国产欧美日韩综合| 久久成人久久爱| 91麻豆精品久久久久蜜臀| 国产精品综合一区二区三区| www.久久精品| 91麻豆精品国产| 亚洲免费观看在线观看| 国产又粗又猛又爽又黄91精品| 欧美中文字幕亚洲一区二区va在线 | 国产精品久久毛片a| 免费一级片91| 欧美日本不卡视频| 午夜亚洲福利老司机| 波波电影院一区二区三区| 久久久www成人免费毛片麻豆| 国产精品一二三区| 日韩欧美一级二级三级久久久| 亚洲国产一区二区三区青草影视| 91免费小视频| 亚洲人亚洲人成电影网站色| 精品国产乱码久久久久久夜甘婷婷 | 91黄色免费观看| 国产精品国产三级国产普通话三级 | 国产精品18久久久久久久久| 2024国产精品视频| 麻豆免费看一区二区三区| 日韩一级高清毛片| 久久国内精品视频| www欧美成人18+| 国产成人欧美日韩在线电影| 国产精品乱人伦| 成人av资源站| 亚洲精品乱码久久久久| 色系网站成人免费| 欧美久久久久久久久久| 亚洲www啪成人一区二区麻豆| 欧美在线视频日韩| 美女网站一区二区| 国产日韩精品一区二区浪潮av| 国产精品1区2区| 日韩美女视频一区二区| 欧日韩精品视频| 美女任你摸久久 | 免费观看30秒视频久久| 欧美tk—视频vk| 成人深夜在线观看| 一区二区三区中文在线| 欧美日本在线播放| 久久不见久久见免费视频1| 欧美日韩情趣电影| 狠狠色丁香久久婷婷综合_中| 欧美高清在线视频| 欧美性做爰猛烈叫床潮| 91成人在线精品| 麻豆91小视频| 亚洲人成影院在线观看| 欧美肥大bbwbbw高潮| 国产成人鲁色资源国产91色综| 亚洲黄色av一区| 久久久久综合网| 欧美无砖砖区免费| 国产成人午夜电影网| 天天影视涩香欲综合网| 中文字幕va一区二区三区| 欧美精品亚洲一区二区在线播放| 豆国产96在线|亚洲| 亚洲aaa精品| 亚洲男人的天堂在线aⅴ视频| 欧美www视频| 3d动漫精品啪啪1区2区免费| 成人app下载| 国产福利精品一区| 粉嫩嫩av羞羞动漫久久久 | 中文字幕国产精品一区二区| 91久久久免费一区二区| 久久国产精品无码网站| 一区二区三区在线视频播放| xf在线a精品一区二区视频网站| 精品视频一区三区九区| 成人免费av资源| 韩国精品一区二区| 国产成人久久精品77777最新版本| 性感美女久久精品| 亚洲女同ⅹxx女同tv| 中文字幕的久久| 久久精品视频一区二区| 精品精品欲导航| 日韩女优av电影| 日韩一区二区三免费高清| 欧美日韩一区二区电影| 欧美专区日韩专区| 在线观看视频91| 色噜噜夜夜夜综合网| 国产福利精品一区| 日产国产欧美视频一区精品| 亚洲国产乱码最新视频| 国产精品久线在线观看| 国产欧美精品在线观看| 日韩欧美二区三区| 精品日韩99亚洲| www国产成人| 国产日韩欧美电影| 国产午夜亚洲精品羞羞网站| 精品国产91洋老外米糕| 久久亚洲一级片| 国产精品久久毛片a| 亚洲色图丝袜美腿| 一区二区三区成人在线视频| 亚洲区小说区图片区qvod| 亚洲最新视频在线观看| 亚洲成人激情社区| 婷婷亚洲久悠悠色悠在线播放| 日本美女一区二区三区| 久久疯狂做爰流白浆xx| 国产盗摄一区二区| av成人动漫在线观看| 色婷婷综合久久久久中文一区二区 | 国产综合色产在线精品| 成人在线视频一区| 91网页版在线| 欧美精品在线观看播放| 国产一二精品视频| 欧美高清在线一区二区| 中文字幕中文在线不卡住| 亚洲色图制服丝袜| 亚洲国产成人91porn| 麻豆91在线观看| 91在线看国产| 日韩一区二区三区电影| 国产精品久久毛片a| 午夜视频一区二区| 国产精品99久久久久久有的能看| 久久夜色精品一区| 欧美午夜精品一区二区蜜桃| 91麻豆精品国产91久久久资源速度| 精品999久久久| 亚洲视频1区2区| 久久精品99国产精品| 丰满放荡岳乱妇91ww| 欧美精品一二三| 亚洲手机成人高清视频| 美女诱惑一区二区| 色综合激情久久| 久久九九久久九九| 日本不卡的三区四区五区|