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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_core.c

?? 帶時(shí)鐘功能溫度和濕度測(cè)量的儀器
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void OSTaskSuspend(uint8 TaskID)    small
{
    OSWaitTick[TaskID] = 0;                                 /* 沒有超時(shí)處理         */

    OS_TaskSuspend(TaskID);
    OSSched();                                              /* 開始任務(wù)切換 */
}

/*********************************************************************************************************
** 函數(shù)名稱: OSFindNextRunningTask
** 功能描述: 查找下一個(gè)優(yōu)先級(jí)最高的就緒任務(wù)
** 輸 入: 無
** 輸 出: OSNextTaskID:存儲(chǔ)查找結(jié)果
** 全局變量: OSTaskRuning,OSTaskCreated
** 調(diào)用模塊: 無
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void OSFindNextRunningTask(void) small
{
    uint8 temp;

    temp = OSTaskRuning[0] & OSTaskCreated[0];
#if OS_MAX_TASKS < 9
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級(jí)最高的任務(wù) */
    for (OSNextTaskID = 0; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
    {
        if ((temp & 0x01) != 0)
        {
            break;
        }
        temp = temp >> 1;
    }
    return;
#else
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級(jí)最高的任務(wù) */
    for (OSNextTaskID = 0; OSNextTaskID < 8; OSNextTaskID++)
    {
        if ((temp & 0x01) != 0)
        {
            return;
        }
        temp = temp >> 1;
    }
    temp = OSTaskRuning[1] & OSTaskCreated[1];
    for (; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
    {
        if ((temp & 0x01) != 0)
        {
            break;
        }
        temp = temp >> 1;
    }
    return;
#endif
}

/*********************************************************************************************************
** 函數(shù)名稱: OSIntExit
** 功能描述: 中斷退出處理函數(shù),在此進(jìn)行中斷后的任務(wù)切換
** 輸 入: 無
** 輸 出: 無
** 全局變量: OSIntNesting,OSNextTaskID
** 調(diào)用模塊: OSIntCtxSw
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSIntExit(void)    small

{
    OS_ENTER_CRITICAL();
                /* 中斷嵌套處理 */
    if (OSIntNesting > 0)
    {
        OSIntNesting--;
    }
    if (OSIntNesting == 0)
    {
        Os_Enter_Sum = 0;               /* 因?yàn)樵谥袛嘀?,所以關(guān)中斷計(jì)數(shù)器為0 */
        OSFindNextRunningTask();
        OSIntCtxSw();                   /* 進(jìn)行任務(wù)調(diào)度 */
        return TRUE;
    }
    OS_EXIT_CRITICAL();
    return FALSE;
}

/*********************************************************************************************************
** 函數(shù)名稱: OSSched
** 功能描述: 非中斷的任務(wù)切換函數(shù)
** 輸 入: 無
** 輸 出: 無
** 全局變量: OSIntNesting,OSNextTaskID
** 調(diào)用模塊: OS_TASK_SW
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void  OSSched(void) small

{
    OS_ENTER_CRITICAL();
    if (OSIntNesting == 0)              /* 是否是中斷中調(diào)用 */
    {
        OSFindNextRunningTask();
        OS_TASK_SW();                   /* 進(jìn)行任務(wù)調(diào)度 */
    }
    OS_EXIT_CRITICAL();
}

/*********************************************************************************************************
** 函數(shù)名稱: OSTimeTick
** 功能描述: 系統(tǒng)時(shí)鐘處理函數(shù),處理各個(gè)任務(wù)的延時(shí)
** 輸 入: 無
** 輸 出: 無
** 全局變量: OSWaitTick
** 調(diào)用模塊: OSIntSendSignal
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void  OSTimeTick(void)  small
{
    uint8 i;

    for (i = 0; i < OS_MAX_TASKS; i++)                 
    {
        if (OSWaitTick[i] != 0 )
        {
            OSWaitTick[i]--;
            if (OSWaitTick[i] == 0)
            {
#if OS_MAX_TASKS < 9
                OSTaskRuning[0] |= OSMapTbl[i];
#else
                if (i < 8)
                {
                    OSTaskRuning[0] |= OSMapTbl[i];
                }
                else
                {
                    OSTaskRuning[1] |= OSMapTbl[i & 0x07];
                }
#endif
            }
        }
    }
    OSSched();
}

/*********************************************************************************************************
** 函數(shù)名稱: OSTimeDly
** 功能描述: 系統(tǒng)等待函數(shù),任務(wù)調(diào)用此函數(shù)可以等待一定時(shí)間
** 輸 入:  ticks : 等待超時(shí)時(shí)的系統(tǒng)嘀嗒數(shù)
** 輸 出 : 無
**
** 全局變量: OSWaitTick
** 調(diào)用模塊: OS_TaskSuspend,OSSched
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void OSTimeDly(uint8 ticks)     small
{
    OSWaitTick[OSTaskID] = ticks;               /* 設(shè)置超時(shí)時(shí)間         */
    OS_ENTER_CRITICAL();
    while (OSWaitTick[OSTaskID] != 0)           /* 判斷超時(shí)時(shí)間是否到   */
    {
        OS_TaskSuspend(OSTaskID);               /* 任務(wù)進(jìn)入等待狀態(tài)     */
        OSSched();                               /* 開始任務(wù)切換         */
    }
    OS_EXIT_CRITICAL();
}

/*********************************************************************************************************
** 函數(shù)名稱: OSTimeDlyResume
** 功能描述: 讓處在延時(shí)期的任務(wù)結(jié)束延時(shí)
** 輸 入:  TaskID : 任務(wù)ID
** 輸 出 : 無
** 全局變量: OSWaitTick
** 調(diào)用模塊: OSTaskResume
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void OSTimeDlyResume(uint8 TaskID)    small
{
    OSWaitTick[TaskID] = 0;
    OSTaskResume(TaskID);
}


/*********************************************************************************************************
** 函數(shù)名稱: OSWait
** 功能描述: 系統(tǒng)等待函數(shù),任務(wù)調(diào)用此函數(shù)可以等待一定時(shí)間或信號(hào)
** 輸 入: typ: 等待事件類型,目前可以取以下值,或是其中任意個(gè)值的按位或
**             K_SIG: 等待信號(hào)
**             K_TMO: 等待超時(shí)
**        ticks : 等待超時(shí)時(shí)的系統(tǒng)嘀嗒數(shù)
** 輸 出 : NOT_OK : 參數(shù)錯(cuò)誤
**         TMO_EVENT : 超時(shí)到
**         SIG_EVENT : 有信號(hào)
** 全局變量: OSWaitTick
** 調(diào)用模塊: OSTaskSuspend,OSTimeDly,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
**
** 作 者: 陳明計(jì)
** 日 期: 2003年8月3日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2004年2月4日
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef OSWait_EN
#define OSWait_EN   0
#endif

#if OSWait_EN > 0
        uint8 OSWait(uint8 typ, uint8 ticks)    small
{
    OSWaitTick[OSTaskID] = ticks;               /* 設(shè)置超時(shí)時(shí)間         */
                                                /* 可以優(yōu)化寄存器的使用  */
    switch(typ)
    {
    case K_SIG:                                 /* 等待信號(hào),即掛起自己  */
        OSTaskSuspend(OSTaskID);
        return SIG_EVENT;
    case K_TMO:                                 /* 等待超時(shí),即延時(shí)一段時(shí)間 */
        OSTimeDly(OSWaitTick[OSTaskID]);
        return TMO_EVENT;
    case (K_TMO | K_SIG):                       /* 等待信號(hào)(掛起自己)直到超時(shí)  */
                                                /* 別的任務(wù)或中斷可以恢復(fù)它 */
        OS_ENTER_CRITICAL();
        if (OSWaitTick[OSTaskID] == 0)          /* 判斷超時(shí)時(shí)間是否到   */
        {
            return TMO_EVENT;
        }
        OS_TaskSuspend(OSTaskID);               /* 任務(wù)進(jìn)入等待狀態(tài)     */
        OSSched();
        OS_EXIT_CRITICAL();
        if (OSWaitTick[OSTaskID] != 0)
        {
            OSWaitTick[OSTaskID] = 0;
            return SIG_EVENT;
        }
        return TMO_EVENT;
    default:
        OSWaitTick[OSTaskID] = 0;
        return NOT_OK;
    }
}
#endif
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人在线观看| 日韩欧美高清dvd碟片| 欧美午夜在线一二页| 91精品国产免费| 久久久久国产精品麻豆ai换脸| 国产欧美精品一区二区色综合朱莉| 亚洲人成伊人成综合网小说| 日韩精品国产精品| 成人黄色av网站在线| 欧美日韩国产综合一区二区三区| 日韩女优电影在线观看| 中文字幕亚洲综合久久菠萝蜜| 性感美女极品91精品| 国产成人免费高清| 欧美三区在线观看| 国产色综合久久| 亚洲成人你懂的| 国产.欧美.日韩| 91精品国产乱| 亚洲黄色性网站| 国产一区二区三区在线观看免费| 99久久久无码国产精品| 884aa四虎影成人精品一区| 国产欧美久久久精品影院| 亚州成人在线电影| 99视频在线观看一区三区| 欧美一区二区三级| 亚洲精品大片www| 国产美女av一区二区三区| 欧美日韩一区二区电影| 国产精品免费久久| 久草精品在线观看| 在线亚洲一区观看| 欧美国产日韩精品免费观看| 免费成人av在线播放| 在线观看欧美精品| 国产精品二区一区二区aⅴ污介绍| 日本欧美一区二区三区| 欧美影视一区二区三区| 欧美激情在线一区二区| 精品一区二区三区香蕉蜜桃| 在线看日本不卡| 国产真实乱对白精彩久久| 欧美日韩国产在线观看| 亚洲人xxxx| 国产成人免费在线视频| 精品精品国产高清a毛片牛牛| 亚洲一区二区三区四区中文字幕 | 欧美日韩一区二区三区高清| 国产喷白浆一区二区三区| 美女诱惑一区二区| 欧美三级三级三级| 亚洲欧美另类小说视频| 成人动漫中文字幕| 国产欧美一区视频| 国产乱人伦精品一区二区在线观看| 7777精品伊人久久久大香线蕉 | 欧美综合在线视频| 国产精品久久久久久久久免费相片 | 国产精品白丝jk白祙喷水网站| 3d动漫精品啪啪1区2区免费| 亚洲狠狠爱一区二区三区| 色婷婷一区二区三区四区| 亚洲欧美一区二区在线观看| 99精品欧美一区| 亚洲色图欧美在线| 97se亚洲国产综合自在线| 国产精品美女久久福利网站| 成人av电影在线| 国产精品久久夜| 粉嫩一区二区三区在线看| 国产女人18毛片水真多成人如厕 | 欧美国产精品v| 国产精品538一区二区在线| 久久综合九色综合欧美98| 国产一区二区女| 中文字幕免费在线观看视频一区| 国产1区2区3区精品美女| 欧美高清一级片在线观看| 成人一区二区三区在线观看| 国产精品视频一二三区| 99re这里只有精品视频首页| 中文字幕在线一区免费| 91美女片黄在线观看| 亚洲一区成人在线| 欧美日韩视频专区在线播放| 日韩电影在线一区二区| 精品国产乱码久久久久久久| 国产成人免费在线| 亚洲欧美偷拍三级| 91久久国产最好的精华液| 日韩在线一二三区| 精品国产乱码久久久久久图片 | 亚洲人xxxx| 欧美少妇xxx| 奇米色777欧美一区二区| 久久综合色之久久综合| www.亚洲色图.com| 亚洲成人动漫在线观看| 精品欧美乱码久久久久久1区2区 | 国产精品久久久久久久久免费丝袜| 91老师片黄在线观看| 亚洲午夜视频在线观看| 日韩网站在线看片你懂的| 国产精品99久久久久久似苏梦涵| 中文字幕av一区 二区| 欧美日韩一区二区在线观看| 狠狠色丁香婷婷综合| 亚洲天堂成人在线观看| 欧美日韩第一区日日骚| 国产综合色视频| 亚洲精品国产精品乱码不99| 日韩欧美激情一区| www.在线成人| 日本欧美一区二区三区| 久久久午夜精品| 理论电影国产精品| 国产精品色在线观看| 欧美天堂亚洲电影院在线播放| 久久草av在线| 亚洲图片激情小说| 日韩免费观看高清完整版在线观看| 豆国产96在线|亚洲| 亚洲一区二区三区四区五区黄 | 国产成人8x视频一区二区| 亚洲一区二区三区视频在线| 国产视频视频一区| 欧美久久一二区| 北条麻妃一区二区三区| 另类中文字幕网| 一区二区成人在线| 国产欧美日韩中文久久| 4438x成人网最大色成网站| 99九九99九九九视频精品| 久久99精品一区二区三区| 亚洲最色的网站| 国产女主播一区| 精品国产一区二区三区av性色| 色一情一伦一子一伦一区| 国产成人综合网| 日韩二区三区在线观看| 亚洲精品视频在线观看网站| 欧美激情一区二区三区蜜桃视频 | 国产一区二区三区电影在线观看| 一区二区三区国产豹纹内裤在线| 久久久久久久久蜜桃| 欧美一区二区三区思思人| 日本韩国视频一区二区| 国产不卡在线视频| 蜜臀精品一区二区三区在线观看 | 欧美精品第一页| 91国偷自产一区二区三区观看| 国产69精品久久99不卡| 久久国产欧美日韩精品| 丝瓜av网站精品一区二区 | 欧美丝袜自拍制服另类| 成年人国产精品| 国产91精品免费| 国产黄色精品视频| 久久99热狠狠色一区二区| 日韩精品成人一区二区在线| 亚洲成人中文在线| 一区二区欧美在线观看| 亚洲精品中文在线| 亚洲欧美日韩一区| 国产精品久久久久久久久图文区 | av网站一区二区三区| 国产成人鲁色资源国产91色综 | 中文字幕av不卡| 国产视频在线观看一区二区三区| 精品少妇一区二区三区视频免付费| 欧美情侣在线播放| 欧美日韩精品三区| 欧美三级资源在线| 欧美婷婷六月丁香综合色| 欧美色图第一页| 欧美午夜视频网站| 欧美日韩视频在线第一区 | 欧美日韩国产区一| 在线观看一区二区视频| 色婷婷国产精品| 91免费观看视频在线| 色综合网站在线| 色综合久久中文综合久久97| 91在线观看一区二区| 97精品国产露脸对白| 色综合久久88色综合天天免费| 91丨九色丨黑人外教| 一本到三区不卡视频| 欧美午夜精品一区| 欧美欧美欧美欧美| 日韩视频中午一区| 精品国产乱码久久久久久老虎| 久久久国产精华| 国产农村妇女精品| 亚洲美女视频在线| 亚洲成人7777| 久久99久久久久久久久久久| 国产高清一区日本| 91视频www|