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

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

?? os_core.c

?? 一個通過方向判別芯片進行角度計算的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void OSTaskSuspend(uint8 TaskID)    small
{
    OSWaitTick[TaskID] = 0;                                 /* 沒有超時處理         */

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

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

    temp = OSTaskRuning[0] & OSTaskCreated[0];
#if OS_MAX_TASKS < 9
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級最高的任務(wù) */
    for (OSNextTaskID = 0; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
    {
        if ((temp & 0x01) != 0)
        {
            break;
        }
        temp = temp >> 1;
    }
    return;
#else
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級最高的任務(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ù),在此進行中斷后的任務(wù)切換
** 輸 入: 無
** 輸 出: 無
** 全局變量: OSIntNesting,OSNextTaskID
** 調(diào)用模塊: OSIntCtxSw
**
** 作 者: 陳明計
** 日 期: 2003年8月3日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSIntExit(void)    small

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

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

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

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

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


/*********************************************************************************************************
** 函數(shù)名稱: OSWait
** 功能描述: 系統(tǒng)等待函數(shù),任務(wù)調(diào)用此函數(shù)可以等待一定時間或信號
** 輸 入: typ: 等待事件類型,目前可以取以下值,或是其中任意個值的按位或
**             K_SIG: 等待信號
**             K_TMO: 等待超時
**        ticks : 等待超時時的系統(tǒng)嘀嗒數(shù)
** 輸 出 : NOT_OK : 參數(shù)錯誤
**         TMO_EVENT : 超時到
**         SIG_EVENT : 有信號
** 全局變量: OSWaitTick
** 調(diào)用模塊: OSTaskSuspend,OSTimeDly,OS_ENTER_CRITICAL,OS_EXIT_CRITICAL
**
** 作 者: 陳明計
** 日 期: 2003年8月3日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 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è)置超時時間         */
                                                /* 可以優(yōu)化寄存器的使用  */
    switch(typ)
    {
    case K_SIG:                                 /* 等待信號,即掛起自己  */
        OSTaskSuspend(OSTaskID);
        return SIG_EVENT;
    case K_TMO:                                 /* 等待超時,即延時一段時間 */
        OSTimeDly(OSWaitTick[OSTaskID]);
        return TMO_EVENT;
    case (K_TMO | K_SIG):                       /* 等待信號(掛起自己)直到超時  */
                                                /* 別的任務(wù)或中斷可以恢復(fù)它 */
        OS_ENTER_CRITICAL();
        if (OSWaitTick[OSTaskID] == 0)          /* 判斷超時時間是否到   */
        {
            return TMO_EVENT;
        }
        OS_TaskSuspend(OSTaskID);               /* 任務(wù)進入等待狀態(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
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品五月天| 成人少妇影院yyyy| 成人爽a毛片一区二区免费| 欧美自拍偷拍一区| 久久久电影一区二区三区| 一区二区三区**美女毛片| 国产精品99久久久久久似苏梦涵 | 免播放器亚洲一区| 91丨porny丨国产| 国产日韩高清在线| 久久不见久久见免费视频7| 欧美日韩在线免费视频| 自拍偷拍亚洲欧美日韩| 国产成人在线视频播放| 欧美精品一区二区三区高清aⅴ| 亚洲国产精品久久久久秋霞影院| 99精品国产99久久久久久白柏| 精品国产sm最大网站| 久久国产麻豆精品| 欧美一区午夜视频在线观看| 亚洲一二三四区不卡| 色综合久久九月婷婷色综合| 国产精品久久久久久久久久免费看| 狠狠色2019综合网| 精品欧美一区二区久久| 精东粉嫩av免费一区二区三区| 在线观看91av| 欧美96一区二区免费视频| 欧美嫩在线观看| 图片区小说区区亚洲影院| 欧美精品v日韩精品v韩国精品v| 亚欧色一区w666天堂| 5566中文字幕一区二区电影| 日本不卡免费在线视频| 日韩视频国产视频| 国产一区视频导航| 国产欧美一区二区精品忘忧草| 国产一区二区三区视频在线播放| 久久精品水蜜桃av综合天堂| 国产69精品一区二区亚洲孕妇| 久久精品视频在线免费观看| www.亚洲激情.com| 亚洲激情校园春色| 欧美高清视频不卡网| 麻豆精品国产传媒mv男同| 日韩精品中文字幕在线一区| 国产福利视频一区二区三区| 国产精品女人毛片| 欧美综合天天夜夜久久| 日韩电影在线一区二区三区| 91精品国产丝袜白色高跟鞋| 国产乱妇无码大片在线观看| 亚洲欧美一区二区三区国产精品| 欧美亚洲自拍偷拍| 国内久久婷婷综合| 亚洲九九爱视频| 欧美一级免费大片| 成人av资源在线观看| 一区二区三区在线观看欧美| 欧美日韩国产高清一区二区三区| 另类小说一区二区三区| 国产精品女主播在线观看| 欧美日韩免费观看一区二区三区| 日本人妖一区二区| 综合久久久久久久| 欧美mv日韩mv国产网站app| www.欧美色图| 日本视频在线一区| 亚洲欧洲日产国产综合网| 欧美一区二区三区婷婷月色| 成人免费看的视频| 美女视频网站黄色亚洲| 亚洲人成网站在线| 26uuu国产日韩综合| 欧美亚洲丝袜传媒另类| 国产成人精品www牛牛影视| 午夜精品久久久| 成人欧美一区二区三区小说| 欧美videos大乳护士334| 色久综合一二码| 国产成人鲁色资源国产91色综| 午夜精品aaa| 一区二区三区在线观看国产| 久久久国产精品不卡| 91精品国产综合久久国产大片| a亚洲天堂av| 国产激情视频一区二区在线观看| 石原莉奈在线亚洲二区| 一级女性全黄久久生活片免费| 久久久久久久久久久久久女国产乱 | 日韩电影一区二区三区| 18成人在线视频| 中文av一区特黄| 久久久久久久一区| 日韩精品中文字幕一区二区三区| 欧美色网一区二区| 欧美午夜免费电影| 91性感美女视频| 成人av在线网站| 岛国精品一区二区| 成人毛片老司机大片| 国产老肥熟一区二区三区| 美国三级日本三级久久99| 日本中文在线一区| 免费精品视频在线| 精品亚洲成a人| 韩国成人福利片在线播放| 麻豆中文一区二区| 黄一区二区三区| 精品一区在线看| 久久99精品国产| 精品亚洲国内自在自线福利| 麻豆成人免费电影| 国产精品伊人色| 国产91精品露脸国语对白| 国产一区在线精品| 国产精品综合在线视频| 丰满白嫩尤物一区二区| 99久久777色| 色激情天天射综合网| 欧美高清视频一二三区| 日韩精品资源二区在线| 久久丝袜美腿综合| 国产精品久线在线观看| 亚洲六月丁香色婷婷综合久久| 一卡二卡欧美日韩| 青青草精品视频| 韩国精品一区二区| 成人网在线播放| 91福利资源站| 欧美一区二区免费视频| 精品国产乱码久久久久久闺蜜| 久久毛片高清国产| 中文字幕亚洲电影| 视频在线观看一区二区三区| 老鸭窝一区二区久久精品| 国产精品18久久久久久vr | 青青草一区二区三区| 国产精华液一区二区三区| 91污在线观看| 日韩欧美一区二区免费| 国产精品麻豆久久久| 午夜影视日本亚洲欧洲精品| 国产一区在线观看视频| 色诱亚洲精品久久久久久| 欧美一区二区三区精品| 国产女同性恋一区二区| 香蕉久久夜色精品国产使用方法 | 一区二区三区在线播放| 免费精品99久久国产综合精品| 成人免费的视频| 91精品国产综合久久久久久久| 久久精品夜夜夜夜久久| 亚洲在线观看免费| 国产成人精品一区二区三区四区| 91官网在线免费观看| 国产日韩av一区| 日韩不卡手机在线v区| 99久久久久免费精品国产| 欧美xxx久久| 亚洲一区二区三区四区不卡| 国产成人免费视频精品含羞草妖精| 欧美色图第一页| 国产日韩精品一区二区三区| 日韩av在线播放中文字幕| 成人av免费观看| 久久久五月婷婷| 日本不卡中文字幕| 欧美性一二三区| 18欧美乱大交hd1984| 国产馆精品极品| 精品免费日韩av| 天天爽夜夜爽夜夜爽精品视频| av不卡免费在线观看| 国产免费观看久久| 国产自产视频一区二区三区| 7777精品伊人久久久大香线蕉| 亚洲美女屁股眼交| 盗摄精品av一区二区三区| 精品国产乱码久久久久久浪潮| 婷婷国产v国产偷v亚洲高清| 91成人在线精品| 国产精品国产三级国产aⅴ无密码| 国内成人精品2018免费看| 欧美一区三区四区| 偷拍日韩校园综合在线| 欧美在线短视频| 一区二区三区不卡在线观看| 91女神在线视频| 亚洲欧美综合色| 色婷婷综合久久久久中文一区二区 | 中文字幕在线不卡一区二区三区 | 青草国产精品久久久久久| 91国内精品野花午夜精品| 亚洲免费伊人电影| 色婷婷综合久久久久中文 | 亚洲一区二区黄色| 色综合色综合色综合色综合色综合| 国产精品久久久久影院| eeuss影院一区二区三区|