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

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

?? os_core.c

?? 周立功公司--陳明計(jì)編寫(xiě)的基于51單片機(jī)的嵌入式操作系統(tǒng),在實(shí)際中我使用AT89LV52就可以良好運(yùn)行這個(gè)操作系統(tǒng),AT89C51下不行(因?yàn)镽AM太小)
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
** 修改人: 陳明計(jì)
** 日 期: 2002年12月30日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void OSIntExit(void)

{
    uint8 temp;

    OS_ENTER_CRITICAL();
                /* 中斷嵌套處理 */
#if EN_OS_INT_ENTER > 0
    if (OSIntNesting > 0)
    {
        OSIntNesting--;
    }
    if (OSIntNesting == 0)
    {
#endif
        
        Os_Enter_Sum = 0;               /* 因?yàn)樵谥袛嘀校躁P(guān)中斷計(jì)數(shù)器為0 */
#if OS_MAX_TASKS < 9
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級(jí)最高的任務(wù) */
        temp = OSTaskRuning;
        for (OSNextTaskID = 0; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
        {
            if ((temp & 0x01) != 0)
            {
                break;
            }
            temp = temp >> 1;
        }
        OSIntCtxSw();                   /* 進(jìn)行任務(wù)調(diào)度 */
#else
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級(jí)最高的任務(wù) */
        temp = OSTaskRuning % 256;
        for (OSNextTaskID = 0; OSNextTaskID < 8; OSNextTaskID++)
        {
            if ((temp & 0x01) != 0)
            {
                goto TaskSw;
            }
            temp = temp >> 1;
        }

        temp = OSTaskRuning / 256;
        for (; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
        {
            if ((temp & 0x01) != 0)
            {
                break;
            }
            temp = temp >> 1;
        }
TaskSw:
        OSIntCtxSw();                   /* 進(jìn)行任務(wù)調(diào)度 */
#endif

#if EN_OS_INT_ENTER >0
    }
#endif
    OS_EXIT_CRITICAL();
}

/*********************************************************************************************************
** 函數(shù)名稱: OSSched
** 功能描述: 非中斷的任務(wù)切換函數(shù)
** 輸 入: 無(wú)
** 輸 出: 無(wú)
** 全局變量: OSIntNesting,OSNextTaskID
** 調(diào)用模塊: OS_TASK_SW
**
** 作 者: 陳明計(jì)
** 日 期: 2002年6月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年9月1日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年9月4日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年10月19日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年12月2日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年12月30日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void  OSSched(void)

{
    uint8 temp;

    OS_ENTER_CRITICAL();
#if EN_OS_INT_ENTER > 0
    if (OSIntNesting == 0)              /* 是否是中斷中調(diào)用 */
    {
#endif

#if OS_MAX_TASKS < 9
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級(jí)最高的任務(wù) */
        temp = OSTaskRuning;
        for (OSNextTaskID = 0; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
        {
            if ((temp & 0x01) != 0)
            {
                break;
            }
            temp = temp >> 1;
        }
        OS_TASK_SW();                   /* 進(jìn)行任務(wù)調(diào)度 */
#else
                /* 查找處于就緒狀態(tài)的任務(wù)中優(yōu)先級(jí)最高的任務(wù) */
        temp = OSTaskRuning % 256;
        for (OSNextTaskID = 0; OSNextTaskID < 8; OSNextTaskID++)
        {
            if ((temp & 0x01) != 0)
            {
                goto TaskSw;
            }
            temp = temp >> 1;
        }

        temp = OSTaskRuning / 256 ;
        for (; OSNextTaskID < OS_MAX_TASKS; OSNextTaskID++)
        {
            if ((temp & 0x01) != 0)
            {
                break;
            }
            temp = temp >> 1;
        }
TaskSw:
        OS_TASK_SW();                   /* 進(jìn)行任務(wù)調(diào)度 */
#endif

#if EN_OS_INT_ENTER > 0
    }
#endif
    OS_EXIT_CRITICAL();
}

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

    for (i = 0; i < OS_MAX_TASKS; i++)                 
    {
        if (OSWaitTick[i] != 0 )
        {
            OSWaitTick[i]--;
            if (OSWaitTick[i] == 0)
            {
                OSIntSendSignal(i);
            }
        }
    }
}

/*********************************************************************************************************
** 函數(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)用模塊: OSClearSignal
**
** 作 者: 陳明計(jì)
** 日 期: 2002年6月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年9月1日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年9月4日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年9月9日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年10月9日
**------------------------------------------------------------------------------------------------------
** 修改人: 陳明計(jì)
** 日 期: 2002年12月2日
**------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSWait(uint8 typ, uint8 ticks)

{
    OSWaitTick[OSTaskID] = ticks;               /* 設(shè)置超時(shí)時(shí)間         */
                                                /* 可以優(yōu)化寄存器的使用  */
    switch(typ)
    {
    case K_SIG:                                 /* 等待信號(hào),即掛起自己  */
        OSWaitTick[OSTaskID] = 0;               /* 沒(méi)有超時(shí)處理         */
        OSClearSignal(OSTaskID);                /* 任務(wù)進(jìn)入等待狀態(tài)     */
        OSSched();                              /* 運(yùn)行下一個(gè)任務(wù)       */
        return SIG_EVENT;
    case K_TMO:                                 /* 等待超時(shí),即延時(shí)一段時(shí)間 */
        OS_ENTER_CRITICAL();
        while (OSWaitTick[OSTaskID] != 0)       /* 判斷超時(shí)時(shí)間是否到   */
        {
            OSClearSignal(OSTaskID);            /* 任務(wù)進(jìn)入等待狀態(tài)     */
            OSSched();                          /* 運(yùn)行下一個(gè)任務(wù)       */
        }
        OS_EXIT_CRITICAL();
        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;
        }
        OSClearSignal(OSTaskID);                /* 任務(wù)進(jìn)入等待狀態(tài)     */
        OS_EXIT_CRITICAL();
        OSSched();                              /* 運(yùn)行下一個(gè)任務(wù)       */
        if (OSWaitTick[OSTaskID] != 0)
        {
            OSWaitTick[OSTaskID] = 0;
            return SIG_EVENT;
        }
        return TMO_EVENT;
    default:
        OSWaitTick[OSTaskID] = 0;
        return NOT_OK;
    }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费av网站| 狠狠色丁香婷婷综合久久片| 欧美成人官网二区| www.日本不卡| 麻豆精品一区二区| 亚洲影院久久精品| 国产精品三级久久久久三级| 日韩欧美一级片| 在线国产亚洲欧美| 成人高清视频免费观看| 麻豆视频一区二区| 日日摸夜夜添夜夜添精品视频| 日韩一区在线看| 久久久久免费观看| 日韩一区二区视频| 欧美日韩国产综合久久 | 国产精品资源网| 一区二区三区高清在线| 国产精品美女久久久久久久久 | 欧美网站大全在线观看| 成人av影院在线| 国产成人综合精品三级| 久久av中文字幕片| 日韩影院免费视频| 午夜视频一区二区| 亚洲精品你懂的| 国产精品电影一区二区三区| 久久久综合视频| 精品国产乱码久久久久久久久| 91麻豆精品久久久久蜜臀| 欧美午夜一区二区三区免费大片| 97se亚洲国产综合自在线不卡| 粉嫩aⅴ一区二区三区四区| 国产在线播放一区三区四| 在线一区二区视频| 99天天综合性| 97久久超碰国产精品| 99热精品一区二区| 99精品在线观看视频| 94-欧美-setu| 色94色欧美sute亚洲线路一久| 色哟哟日韩精品| 欧美主播一区二区三区美女| 欧美午夜精品一区二区三区| 欧美午夜电影网| 欧美精品久久久久久久久老牛影院| 欧美午夜精品一区| 欧美一级高清片| 精品国内片67194| 欧美激情一区三区| 亚洲三级电影网站| 亚洲亚洲人成综合网络| 天天影视色香欲综合网老头| 蜜桃视频在线观看一区二区| 加勒比av一区二区| 国产+成+人+亚洲欧洲自线| 99精品在线免费| 欧美卡1卡2卡| 精品国产91乱码一区二区三区| 国产日韩欧美综合在线| 亚洲欧洲成人av每日更新| 亚洲一区免费视频| 免费观看日韩av| 国产精品1区2区3区在线观看| 岛国一区二区在线观看| 在线观看国产日韩| 欧美变态tickling挠脚心| 久久久国产精品麻豆| 亚洲欧美综合色| 欧美日韩一区 二区 三区 久久精品| 欧美在线观看一区二区| 日韩视频123| 国产精品日日摸夜夜摸av| 一区二区三区四区在线播放| 在线观看日韩电影| 欧美高清你懂得| 欧美国产成人精品| 亚洲成av人片一区二区三区| 美女视频黄久久| 91美女视频网站| 日韩一区二区免费在线电影| 国产精品天干天干在观线| 亚洲不卡一区二区三区| 国产精品主播直播| 欧美在线一二三| 久久精品亚洲精品国产欧美kt∨| 一区二区三区免费观看| 黄色资源网久久资源365| 在线免费不卡视频| 久久久久久9999| 亚洲成人动漫av| 成人午夜av电影| 日韩亚洲欧美一区二区三区| 亚洲欧洲国产日本综合| 狠狠狠色丁香婷婷综合久久五月| 色www精品视频在线观看| 久久久国际精品| 成人sese在线| 5858s免费视频成人| 欧美韩国日本不卡| 蜜桃传媒麻豆第一区在线观看| 91日韩一区二区三区| 精品电影一区二区| 视频一区视频二区中文| 97超碰欧美中文字幕| 国产丝袜美腿一区二区三区| 日韩电影在线一区二区三区| 色综合中文字幕国产 | 日韩国产精品91| 91一区一区三区| 国产亚洲短视频| 麻豆国产欧美日韩综合精品二区| 欧亚一区二区三区| 综合久久给合久久狠狠狠97色 | 国产主播一区二区| 67194成人在线观看| 一区二区免费看| 国产欧美精品一区二区三区四区 | 成人亚洲一区二区一| 日韩精品在线看片z| 日韩精品一级二级| 欧美综合久久久| 亚洲免费高清视频在线| 91在线视频18| 国产精品久久久久久亚洲伦| 国产精品77777| 久久久久久99久久久精品网站| 国内精品久久久久影院薰衣草| 日韩一区二区精品葵司在线 | www.色精品| 中文字幕一区二区三区四区不卡| 成人午夜av影视| 国产精品久久久久久福利一牛影视| 国产精品一区二区x88av| 久久日一线二线三线suv| 久久精品久久久精品美女| 欧美电影免费观看高清完整版在线| 天天操天天色综合| 欧美一级高清片| 国产制服丝袜一区| 国产农村妇女毛片精品久久麻豆 | 日韩国产欧美在线观看| 在线综合视频播放| 久久99最新地址| 久久久久久97三级| www.欧美亚洲| 一区二区欧美国产| 欧美一卡二卡在线| 欧美三电影在线| 国产精品丝袜91| 国产传媒久久文化传媒| 国产欧美日产一区| 成人激情黄色小说| 亚洲欧美激情插 | 一本在线高清不卡dvd| 一区二区三区 在线观看视频| 91国模大尺度私拍在线视频| 五月激情综合色| 欧美tk丨vk视频| 成人免费视频网站在线观看| 国产精品理论片| 欧美中文一区二区三区| 免费观看日韩av| 国产精品伦一区| 欧美日韩综合色| 狠狠色狠狠色综合| 日韩毛片高清在线播放| 欧美日韩国产天堂| 国产精品自拍网站| 亚洲精品va在线观看| 日韩一区二区精品| 成人性色生活片免费看爆迷你毛片| 亚洲日本在线观看| 日韩午夜激情av| 成年人午夜久久久| 成人教育av在线| 亚洲成av人**亚洲成av**| 日韩欧美中文字幕一区| 国产成人自拍网| 亚洲成av人影院| 国产日韩欧美一区二区三区综合| 在线观看国产精品网站| 久久精品国产澳门| 亚洲黄色小说网站| 亚洲精品在线网站| 欧美视频在线一区二区三区 | 91在线视频官网| 精品在线观看视频| 亚洲精品乱码久久久久久黑人 | 亚洲欧美另类久久久精品2019| 制服丝袜中文字幕一区| 成人av网在线| 激情综合一区二区三区| 亚洲一区二区三区在线播放| 久久久精品影视| 欧美一区二区日韩一区二区| aaa国产一区| 国产福利一区二区三区| 日本女人一区二区三区| 亚洲精品伦理在线|