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

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

?? os_core.c

?? SmallRTOSAVR.rar
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/*********************************************************************************************************
**                                        Small RTOS
**                                   The Real-Time Kernel
**                           (c) Copyright 2002-2003, chenmingji
**                                     All Rights Reserved
**                                         V1.50.0
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: OS_CORE.C
**創(chuàng)   建   人: 陳明計(jì)
**最后修改日期:  2005年6月10日
**描        述: Small RTOS與CPU無關(guān)的核心代碼
**
**--------------歷史版本信息----------------------------------------------------------------------------
** 創(chuàng)建人: 陳明計(jì)
** 版  本: V1.00
** 日 期:  2005年6月10日
** 描 述: 基本完成全新的Small RTOS核
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版  本:
** 日 期:
** 描 述:
**
**--------------當(dāng)前版本修訂------------------------------------------------------------------------------
** 修改人: 焦進(jìn)星
** 日 期: 2007年12月30日
** 描 述: 移植到AVR系列芯片,適用于atmega16/32等
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#define  IN_OS_CORE
#define  IN_OS
#include "..\APP\config.h"
   



OS_TCB_PRIO         OSTCBPrioTbl[OS_LOWEST_PRIO + 1];   /* 優(yōu)先級(jí)控制塊             */
OS_TCB              OSTCBTbl[OS_MAX_TASKS + 1];         /* 任務(wù)控制塊               */

OS_TCB              *OSTCBCur;                          /* 當(dāng)前任務(wù)控制塊           */
OS_TCB              *OSTCBHighRdy;                      /* 新任務(wù)控制塊             */
uint8               OSHighPrio;                         /* 就緒的任務(wù)的最高優(yōu)先級(jí)   */

uint8               OSIntNesting;                       /* 中斷嵌套層次             */
uint8               OsEnterSum;                         /* 關(guān)中斷嵌套層次           */

//const uint8 OSMapTbl[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00};

register unsigned char SREGTEMP asm("r2"); 

/*防止被編譯器占用*/ 
register unsigned char tempR3  asm("r3"); 
register unsigned char tempR4  asm("r4"); 
register unsigned char tempR5  asm("r5");
register unsigned char tempR6  asm("r6"); 
register unsigned char tempR7  asm("r7"); 
register unsigned char tempR8  asm("r8"); 
register unsigned char tempR9  asm("r9"); 
register unsigned char tempR10 asm("r10"); 
register unsigned char tempR11 asm("r11"); 
register unsigned char tempR12 asm("r12"); 
register unsigned char tempR13 asm("r13"); 
register unsigned char tempR14 asm("r14"); 
register unsigned char tempR15 asm("r15"); 
register unsigned char tempR16 asm("r16"); 
register unsigned char tempR16 asm("r17"); 

/*********************************************************************************************************
** 函數(shù)名稱: OSVersion
** 功能描述: 獲取Small RTOS 版本號(hào)
** 輸 入: 無
** 輸 出: 版本號(hào)*100
** 作 者: 陳明計(jì)
** 日 期:  2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint16 OSVersion(void)
{
    return OS_VERSION;
}


/*********************************************************************************************************
** 函數(shù)名稱: OSInit
** 功能描述: 系統(tǒng)初始化
** 輸 入: 無
** 輸 出: OS_NO_ERR
** 作 者: 陳明計(jì)
** 日 期:  2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSInit(void)
{
    uint8 i1;
    uint32 i2;
    OS_TCB_PRIO *tcbp;
    OS_TCB *tcb;

    /* 初始化優(yōu)先級(jí)控制塊 */
    tcbp = OSTCBPrioTbl;
    for (i1 = 0; i1 < OS_LOWEST_PRIO; i1++)
    {
        tcbp->OSTCBDly = 0;
        tcbp->OSTCBDlyReload = 10;
        tcbp->TcbNext= NULL;
        tcbp++;
    }
    tcbp->OSTCBDly = 0;
    tcbp->OSTCBDlyReload = 0;
    tcbp->TcbNext = OSTCBTbl + OS_MAX_TASKS;     /* 空閑任務(wù) */

    /* 初始化任務(wù)控制塊 */
    tcb = &(OSTCBTbl[0]);
    for (i2 = 0; i2 < OS_MAX_TASKS; i2++)
    {
        tcb->OSTCBStat = OS_STAT_DEATH;
        tcb->OSTCBInfo = OS_INFO_MSG_SENGED;
        tcb->OSTCBDly = 0;
        tcb->OSTCBId = i2;
        tcb->TcbNext = NULL;
#if OS_MAX_EVENTS > 0
        tcb->EventNext = NULL;
        tcb->EventPrev = NULL;
#endif
#if EN_OS_MSG > 0
        tcb->Msg = NULL;
        tcb->MsgHard = NULL;
        tcb->MsgEnd = NULL;
        tcb->MsgNext = NULL;
#endif
        tcb++;
    }
    
    /* 初始化空閑任務(wù) */
    tcb->OSTCBStat = 0;
    tcb->OSTCBInfo = OS_INFO_MSG_SENGED;
    tcb->OSTCBPrio = OS_LOWEST_PRIO;
    tcb->OSTCBDly = 0;
    tcb->OSTCBId = OS_MAX_TASKS;
    tcb->TcbNext = tcb;
    tcb->TcbPrev = tcb;
#if OS_MAX_EVENTS > 0
    tcb->EventNext = NULL;
    tcb->EventPrev = NULL;
#endif
#if EN_OS_MSG > 0
    tcb->Msg = NULL;
    tcb->MsgHard = NULL;
    tcb->MsgEnd = NULL;
    tcb->MsgNext = NULL;
#endif

    
    /* 初始化其它變量 */
    OSTCBCur = tcb;
    OSTCBHighRdy = tcb;
    OsEnterSum = 0;
    OSIntNesting = 0;
    OSTickCnt = 0;
    OSTickThisCnt = 0;
    OSHighPrio = OS_LOWEST_PRIO;
    OSTCBTimeDly = NULL;
    
    OSEventinit();                  /* 事件控制初始化代碼       */
    return OS_NO_ERR;
}
/*********************************************************************************************************
** 函數(shù)名稱: OSSetRoundTick
** 功能描述: 設(shè)置指定優(yōu)先級(jí)的任務(wù)的輪詢時(shí)間
** 輸 入: Prio:要設(shè)置的優(yōu)先級(jí)
**         Ticks:輪詢時(shí)間
** 輸 出: OS_NO_ERR
** 作 者: 陳明計(jì)
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSSetRoundTick(uint8 Prio, uint16 Ticks)
{
    OS_ENTER_CRITICAL();
    if (Prio < OS_LOWEST_PRIO)                     /* 優(yōu)先級(jí)存在               */
    {
        OSTCBPrioTbl[Prio].OSTCBDlyReload = Ticks;  /* 設(shè)置輪詢時(shí)間             */
        OSTCBPrioTbl[Prio].OSTCBDly = Ticks;        /* 設(shè)置當(dāng)次輪詢時(shí)間         */
        if (OSTCBCur->OSTCBPrio == Prio)            /* 如果是當(dāng)前任務(wù)           */
        if (OSTickCnt == 0)                         /* 沒有任務(wù)需要時(shí)間服務(wù)延時(shí) */
        {
                                                    /* 啟動(dòng)時(shí)間服務(wù)             */
            OSTickCnt = Ticks;                  
            OSTickThisCnt = Ticks;
        }
    }
    OS_EXIT_CRITICAL();
    return OS_NO_ERR;
}

/*********************************************************************************************************
** 函數(shù)名稱: OSFindNextRunningTask
** 功能描述: 查找下一個(gè)優(yōu)先級(jí)最高的就緒任務(wù)
** 輸 入: 無
** 輸 出: OS_NO_ERR
** 作 者: 陳明計(jì)
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人动漫在线观看| 成人精品鲁一区一区二区| 亚洲女厕所小便bbb| 国产精品美女一区二区三区 | 精品国产一区二区在线观看| 欧美理论电影在线| 欧美日韩一区二区三区视频| 欧美视频精品在线观看| 欧美日韩高清一区二区三区| 欧美日韩精品是欧美日韩精品| 91福利视频在线| 欧美日韩在线一区二区| 欧美高清视频在线高清观看mv色露露十八 | 国产精品高清亚洲| 欧美三级三级三级| 91精品国产福利在线观看| 欧美在线视频你懂得| 欧美剧在线免费观看网站| 51精品国自产在线| 精品国产网站在线观看| 久久嫩草精品久久久精品| 国产日韩v精品一区二区| 国产精品福利一区二区三区| 亚洲视频一区二区在线| 亚洲自拍另类综合| 日韩高清不卡一区| 国产酒店精品激情| 91蜜桃免费观看视频| 欧美日韩成人高清| 久久久不卡影院| 亚洲欧美日韩国产综合在线| 视频一区在线视频| 国产99久久久久久免费看农村| 91视频国产资源| 欧美美女喷水视频| 国产欧美一区二区三区鸳鸯浴| 亚洲人成影院在线观看| 蜜臀精品久久久久久蜜臀| 国产精品一区二区三区乱码| 91久久精品国产91性色tv| 日韩欧美一二三四区| 中文字幕在线观看一区| 欧美大胆人体bbbb| 亚洲欧美偷拍卡通变态| 亚洲伦理在线免费看| 热久久一区二区| 国产美女视频91| 欧美性生活一区| 欧美一区二区视频免费观看| 久久久www免费人成精品| 国产很黄免费观看久久| 久久综合九色综合97_久久久| 亚洲欧洲精品成人久久奇米网| 久久精子c满五个校花| www.激情成人| av电影天堂一区二区在线| 欧美丰满少妇xxxbbb| 国产精品你懂的在线欣赏| 日韩影院免费视频| 91理论电影在线观看| 欧美电影免费观看高清完整版在| 亚洲欧美一区二区在线观看| 老司机午夜精品| 在线欧美日韩精品| 国产精品无遮挡| 麻豆精品视频在线观看视频| 在线看不卡av| 国产精品美女久久久久久| 伦理电影国产精品| 欧美日韩国产123区| **网站欧美大片在线观看| 精品在线免费视频| 日本韩国视频一区二区| 国产日产欧美精品一区二区三区| 无码av中文一区二区三区桃花岛| www.一区二区| 国产色综合久久| 久久精工是国产品牌吗| 欧美亚洲综合另类| 亚洲视频一区在线| 成人午夜精品在线| 亚洲精品一区二区三区蜜桃下载 | 在线不卡免费欧美| 亚洲精品乱码久久久久久黑人| 国产成人精品三级| 久久亚洲精品小早川怜子| 蜜臀91精品一区二区三区 | 亚洲自拍欧美精品| 99vv1com这只有精品| 欧美国产精品劲爆| 国产精品亚洲а∨天堂免在线| 日韩三级在线观看| 日本成人中文字幕在线视频| 日韩你懂的在线播放| 日本成人在线一区| 欧美一区二区三区啪啪| 日韩主播视频在线| 欧美精品精品一区| 午夜电影网一区| 欧美日韩成人综合| 日韩**一区毛片| 日韩三级视频在线观看| 麻豆91免费观看| 欧美刺激午夜性久久久久久久| 蜜臀av亚洲一区中文字幕| 51久久夜色精品国产麻豆| 日韩高清一区二区| 91精品国产一区二区三区香蕉| 日韩二区三区在线观看| 日韩一区二区不卡| 免费久久精品视频| 日韩精品在线看片z| 国产综合色产在线精品| 久久久久九九视频| 成人白浆超碰人人人人| 亚洲欧美综合另类在线卡通| 一本色道久久综合亚洲精品按摩| 亚洲免费在线看| 欧美三级资源在线| 麻豆精品一区二区av白丝在线| 久久综合九色综合欧美就去吻| 国产麻豆午夜三级精品| 中文字幕制服丝袜一区二区三区| 99久久综合色| 午夜伊人狠狠久久| 日韩精品综合一本久道在线视频| 国产在线精品国自产拍免费| 欧美极品少妇xxxxⅹ高跟鞋| 91丨porny丨中文| 日韩影院免费视频| 久久久精品免费免费| 91亚洲国产成人精品一区二区三| 亚洲尤物视频在线| 日韩免费一区二区| 久久久无码精品亚洲日韩按摩| 久久久久亚洲综合| 欧美三级乱人伦电影| 欧美系列日韩一区| 日韩视频中午一区| 亚洲女厕所小便bbb| 欧美男同性恋视频网站| 精品在线视频一区| 亚洲天堂免费在线观看视频| 欧美日韩三级一区二区| 国产一区二区精品久久91| 国产精品国产馆在线真实露脸| 欧美三级视频在线播放| 精品一区免费av| 国产精品电影院| 欧美va亚洲va香蕉在线| 色综合久久久久| 精品一区二区综合| 亚洲免费在线观看视频| 日韩欧美一卡二卡| 91久久精品一区二区二区| 久88久久88久久久| 亚洲一区在线看| 国产性天天综合网| 欧美视频一区二区三区| 国产精品影视在线| 日日夜夜免费精品| 日韩理论片中文av| 久久久久9999亚洲精品| 欧美系列在线观看| 丁香五精品蜜臀久久久久99网站| 视频在线观看91| 在线播放国产精品二区一二区四区| 亚洲午夜成aⅴ人片| 国产毛片精品一区| 亚洲成人激情自拍| 亚洲日本护士毛茸茸| 精品国产乱码久久久久久夜甘婷婷| 日本精品一区二区三区高清 | 国产精品九色蝌蚪自拍| 欧美一区二区在线视频| 色综合色狠狠天天综合色| 国产一区二区精品久久99| 日本在线播放一区二区三区| 亚洲欧美日韩中文播放| 中文字幕乱码久久午夜不卡 | 91超碰这里只有精品国产| 99国产欧美另类久久久精品| 狠狠网亚洲精品| 免费观看在线综合色| 亚洲高清三级视频| 一区二区三区欧美亚洲| 国产精品久久毛片| 国产女人18水真多18精品一级做| 日韩午夜在线影院| 欧美日韩中文国产| 色噜噜久久综合| 99精品一区二区三区| 岛国精品在线观看| 国产精品69毛片高清亚洲| 国产自产视频一区二区三区| 男人的j进女人的j一区| 五月婷婷激情综合网| 亚洲18色成人| 日韩高清欧美激情| 日韩二区三区四区|