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

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

?? os_task.c

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

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

uint8 CRITICALNUM=0;
/*********************************************************************************************************
** 函數名稱: _OS_TaskResume
** 功能描述: 將指定任務加入優先級鏈表
** 輸 入: Tcb : 任務控制塊指針
** 輸 出: 無
** 作 者: 陳明計
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 _OS_TaskResume(OS_TCB *Tcb)
{
    uint8 Prio;
    OS_TCB_PRIO *Ptcb;
    
    Tcb->OSTCBStat &= ~OS_STAT_SUSPEND;         /* 處于就緒狀態 */
    Prio = Tcb->OSTCBPrio;
    Ptcb = &(OSTCBPrioTbl[Prio]);
    /* 插入優先級鏈表 */
    Tcb->TcbPrev = NULL;
    if (Ptcb->TcbNext != NULL)
    {
        Tcb->TcbNext = Ptcb->TcbNext;
        Tcb->TcbPrev = Ptcb->TcbNext->TcbPrev;
        Tcb->TcbPrev->TcbNext = Tcb;
        Tcb->TcbNext->TcbPrev = Tcb;
    }
    else
    {
        Tcb->TcbNext = Tcb;
        Tcb->TcbPrev = Tcb;
        Ptcb->TcbNext = Tcb;
    }
	if (Tcb->OSTCBPrio < OSHighPrio)            /* 調整OSHighPrio,用于加速任務切換 */
	{
		OSHighPrio = Tcb->OSTCBPrio;
    }
    return OS_NO_ERR;
}

/*********************************************************************************************************
** 函數名稱: OS_TaskResume
** 功能描述: 恢復任務,但不進行任務切換
** 輸 入: TaskID : 任務ID
** 輸 出: OS_NO_ERR:成功
**         OS_TASKID_INVALID:目標任務不存在
** 作 者: 陳明計
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
         uint8 OS_TaskResume(TASK_ID TaskID)
{
    uint8 Rt;
    OS_TCB *Tcb;
    
    /* 獲取任務TCB */
    Tcb = NULL;
    if (TaskID == OS_ID_SELF)
    {
        Tcb = OSTCBCur;
    }
    if (TaskID < OS_MAX_TASKS)
    {
        Tcb = &(OSTCBTbl[TaskID]);
    }
    Rt = OS_TASKID_INVALID;
    if (Tcb != NULL)
    {
        if (Tcb->OSTCBStat != OS_STAT_DEATH)                /* 任務存在 */
        {
            if ((Tcb->OSTCBStat & OS_STAT_SUSPEND) != 0)
            {
                Tcb->OSTCBStat &= ~OS_STAT_SUSPEND;
                _OS_TaskResume(Tcb);
            }
            Rt = OS_NO_ERR;
        }
    }
    return Rt;
}

/*********************************************************************************************************
** 函數名稱: _OS_TaskSuspend
** 功能描述: 將指定任務從優先級鏈表中刪除
** 輸 入: Tcb : 任務控制塊指針
** 輸 出: OS_NO_ERR
** 作 者: 陳明計
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
         uint8 _OS_TaskSuspend(OS_TCB *Tcb)
{
    uint8 Prio;
    OS_TCB_PRIO *Ptcb;

    Prio = Tcb->OSTCBPrio;
    Ptcb = &(OSTCBPrioTbl[Prio]);
    if (Ptcb->TcbNext != NULL)
    {
	    if (Ptcb->TcbNext == Tcb)
	    {
	        Ptcb->TcbNext = Tcb->TcbNext;
	        if (Ptcb->TcbNext == Tcb)
	        {
	            Ptcb->TcbNext = NULL;
	        }
	    }
        Tcb->OSTCBStat |= OS_STAT_SUSPEND;
        Tcb->TcbNext->TcbPrev = Tcb->TcbPrev;
        Tcb->TcbPrev->TcbNext = Tcb->TcbNext;
    }
    return OS_NO_ERR;
}

/*********************************************************************************************************
** 函數名稱: OSTaskCreate
** 功能描述: 創建任務
** 輸 入: Task:任務開始地址
**         Pdata:任務參數
**         Ptos:堆棧地址
**         Prio:任務優先級
**         TaskId:任務ID
**         StkSize:堆棧尺寸
**         PSR:附加參數,與移植相關
** 輸 出: OS_NO_ERR:成功
**         OS_TASKID_INVALID:錯誤的任務ID
** 作 者: 陳明計
** 日 期: 2005年6月10日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期:
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSTaskCreate(void   (*Task)(void *Pd),
                           void    *Pdata,
                           OS_STK  *Ptos,
                           uint8    Prio,
                           TASK_ID  TaskId,
                           uint32   StkSize,
                           int      PSR,
                           uint8    TaskStat)
{
    OS_STK *Psp;
    OS_TCB *Tcb;
    uint8 Rt;
    
    StkSize = StkSize;
    OS_ENTER_CRITICAL_TWO;
    Rt = OS_TASKID_INVALID;
    if (TaskId < OS_MAX_TASKS)                  /* ID有效       */
    {
        Tcb = &(OSTCBTbl[TaskId]);
        if (Tcb->OSTCBStat == OS_STAT_DEATH)    /* 此ID還未使用 */
        {
            if (Prio >= OS_LOWEST_PRIO)         /* 優先級無效   */
            {
                Rt = OS_PRIO_INVALID;
            }
            else
            {
                Psp = (OS_STK *)OSTaskStkInit(Task, Pdata, Ptos, PSR);  /* 初始化堆棧 */
                /* 初始化TCB */
                Tcb->OSTCBStat = 0;
                Tcb->OSTCBStkPtr = Psp;
                Tcb->OSTCBInfo = OS_INFO_MSG_SENGED;
                Tcb->OSTCBDly = 0;
                Tcb->OSTCBPrio = Prio;
                Tcb->TcbNext = NULL;
                Tcb->TcbPrev = 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
                if (TaskStat != 0)
                {
                    Tcb->OSTCBStat = OS_STAT_SUSPEND;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲国产bt| 中文字幕欧美一区| 国产成人激情av| 国产欧美日本一区视频| 不卡一区中文字幕| 一区二区三区精密机械公司| 欧美日韩在线一区二区| 日韩不卡手机在线v区| 久久亚洲一区二区三区明星换脸| 成人激情综合网站| 亚洲精品综合在线| 91精品国产综合久久香蕉的特点 | 老司机精品视频线观看86| 亚洲精品在线观| av中文字幕不卡| 亚洲成人三级小说| 精品日韩一区二区三区免费视频| 国产一区二区在线电影| 亚洲婷婷国产精品电影人久久| 欧美日韩一区二区三区在线 | 国产精品系列在线播放| 综合激情成人伊人| 制服丝袜亚洲色图| 国产aⅴ综合色| 亚洲欧美国产77777| 日韩一区二区三区视频在线| 国产超碰在线一区| 午夜国产不卡在线观看视频| 26uuu国产一区二区三区| 色综合色狠狠天天综合色| 日本欧美一区二区| 中文字幕不卡在线| 欧美巨大另类极品videosbest | 日本大香伊一区二区三区| 久久精品国产一区二区三区免费看| 欧美激情一区二区三区| 欧美精品在线一区二区| 岛国精品在线播放| 亚洲成a人片在线观看中文| 久久久久久毛片| 欧美日韩精品免费| 成人激情黄色小说| 青青青伊人色综合久久| 中文字幕一区在线| 精品国产麻豆免费人成网站| 91久久精品一区二区| 黄色日韩网站视频| 亚洲午夜影视影院在线观看| 国产三级久久久| 91麻豆精品国产无毒不卡在线观看| 不卡av在线网| 精品综合免费视频观看| 一区二区三国产精华液| 国产欧美日韩综合| 制服丝袜中文字幕一区| 一本色道久久加勒比精品| 国产一区二区三区免费播放| 亚洲第一主播视频| 自拍av一区二区三区| 久久久精品国产免费观看同学| 欧美日韩精品久久久| 91在线视频播放地址| 国产一区二区三区| 偷拍一区二区三区| 一区二区三区欧美日| 欧美激情在线一区二区| 亚洲精品在线免费播放| 欧美精品xxxxbbbb| 91豆麻精品91久久久久久| 成人av在线资源网站| 黄色日韩三级电影| 日韩影视精彩在线| 亚洲韩国一区二区三区| 亚洲色图色小说| 国产精品天天摸av网| 久久午夜色播影院免费高清| 欧美一区在线视频| 欧美日韩一区二区三区四区| 91麻豆精品在线观看| 成人精品视频一区二区三区尤物| 久久99精品久久久久久动态图 | 自拍偷拍欧美精品| 国产日产欧美一区二区视频| 日韩欧美国产一区二区在线播放| 欧美日韩精品一区视频| 在线观看亚洲精品视频| 日韩欧美中文字幕一区| 欧美女孩性生活视频| 在线观看一区日韩| 91在线看国产| 91麻豆精品在线观看| 成人午夜激情影院| 国产成人av一区二区三区在线| 精品一区二区三区欧美| 日韩专区欧美专区| 午夜视频一区在线观看| 亚洲一区二区成人在线观看| 亚洲影视资源网| 一区av在线播放| 一区二区三区在线不卡| 中文字幕在线免费不卡| 国产精品卡一卡二卡三| 亚洲欧洲日韩在线| 中文字幕一区在线观看| 亚洲人午夜精品天堂一二香蕉| 亚洲国产精品99久久久久久久久 | 国产精品一级片| 国产乱码精品1区2区3区| 国产综合色在线| 国产一区中文字幕| 国产成人久久精品77777最新版本| 久久国产精品99久久人人澡| 狠狠色丁香久久婷婷综| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲精品乱码久久久久久久久| 亚洲精品免费在线| 亚洲国产aⅴ成人精品无吗| 爽爽淫人综合网网站| 另类调教123区| 国产乱子轮精品视频| 成人性生交大片免费看中文网站| av电影在线观看一区| 在线亚洲一区二区| 在线不卡一区二区| 欧美一区日韩一区| 久久精品夜色噜噜亚洲aⅴ| 国产精品久久久久一区二区三区| 国产精品二三区| 亚洲国产欧美在线| 麻豆成人av在线| 成人毛片在线观看| 欧美亚洲日本国产| 日韩欧美一级特黄在线播放| 久久人人爽爽爽人久久久| 国产精品网友自拍| 亚洲午夜羞羞片| 韩国av一区二区三区在线观看| 国产成人av自拍| 色偷偷88欧美精品久久久| 欧美精品乱码久久久久久| 精品国产三级a在线观看| 国产精品色眯眯| 一区二区三区精品视频在线| 男男成人高潮片免费网站| 国产成人午夜精品5599| 91色porny蝌蚪| 日韩精品中午字幕| 国产精品三级av在线播放| 亚洲一区二区免费视频| 国产在线不卡一区| 色偷偷成人一区二区三区91| 日韩欧美高清dvd碟片| 国产精品精品国产色婷婷| 偷拍一区二区三区| 大陆成人av片| 欧美日韩国产在线观看| 久久日韩粉嫩一区二区三区| 一区二区三区91| 国产精品综合视频| 欧美在线一二三| 久久婷婷综合激情| 一区二区三区四区激情| 九色porny丨国产精品| 94-欧美-setu| 欧美电视剧在线观看完整版| 成人欧美一区二区三区黑人麻豆| 丝袜美腿亚洲一区二区图片| 成人av中文字幕| 日韩欧美一区电影| 亚洲黄色在线视频| 精品一区二区三区免费观看| 91香蕉视频在线| 26uuu精品一区二区在线观看| 一区二区三区日本| 国产成人免费在线视频| 欧美日韩国产一区二区三区地区| 欧美激情艳妇裸体舞| 秋霞午夜鲁丝一区二区老狼| 99久久精品情趣| 亚洲精品一区二区三区99| 亚洲国产一区二区视频| 丁香另类激情小说| 日韩三级免费观看| 亚洲一区二区三区在线看| 成人做爰69片免费看网站| 日韩三级视频在线观看| 亚洲一区在线观看网站| 国产mv日韩mv欧美| 日韩一二在线观看| 亚洲综合久久av| 成人午夜电影网站| 精品久久久久久久一区二区蜜臀| 一区二区在线观看不卡| 国产91对白在线观看九色| 日韩欧美中文字幕公布| 亚洲成人先锋电影| 色成人在线视频| 国产精品二区一区二区aⅴ污介绍| 久久91精品国产91久久小草| 欧美人与z0zoxxxx视频|