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

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

?? os_task.c

?? 基于ATmega8的ucosII應(yīng)用,ATmega8上的ucosII開發(fā)。
?? C
字號:

#ifndef  OS_MASTER_FILE
#include "includes.h"
#endif

/*$PAGE*/
/*
*********************************************************************************************************
*                                            CREATE A TASK
*
* Description: This function is used to have uC/OS-II manage the execution of a task.  Tasks can either
*              be created prior to the start of multitasking or by a running task.  A task cannot be
*              created by an ISR.
*
* Arguments  : task     is a pointer to the task's code
*
*              pdata    is a pointer to an optional data area which can be used to pass parameters to
*                       the task when the task first executes.  Where the task is concerned it thinks
*                       it was invoked and passed the argument 'pdata' as follows:
*
*                           void Task (void *pdata)
*                           {
*                               for (;;) {
*                                   Task code;
*                               }
*                           }
*
*              ptos     is a pointer to the task's top of stack.  If the configuration constant 
*                       OS_STK_GROWTH is set to 1, the stack is assumed to grow downward (i.e. from high
*                       memory to low memory).  'pstk' will thus point to the highest (valid) memory 
*                       location of the stack.  If OS_STK_GROWTH is set to 0, 'pstk' will point to the 
*                       lowest memory location of the stack and the stack will grow with increasing
*                       memory locations.
*
*              prio     is the task's priority.  A unique priority MUST be assigned to each task and the
*                       lower the number, the higher the priority.
*
* Returns    : OS_NO_ERR        if the function was successful.
*              OS_PRIO_EXIT     if the task priority already exist 
*                               (each task MUST have a unique priority).
*              OS_PRIO_INVALID  if the priority you specify is higher that the maximum allowed 
*                               (i.e. >= OS_LOWEST_PRIO)
*********************************************************************************************************
*/

#if OS_TASK_CREATE_EN
OS_STK *OSTaskStkInit (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT16U opt){

    INT8U  *stk;
    INT8U  *stks;		// Temp. variable used for setting up AVR hardware stack
    INT16U tmp;


    opt     = opt;			// 'opt' is not used, prevent warning
    stk     = (INT8U *)ptos;		// Wandlung von ptos in Bytezeiger
	// AVR return stack ("hardware stack")
    stks    = (INT8U *)(ptos)-(OS_TASK_DEF_STK_SIZE-32);

	// the function address has an extra level of indirection. Fetch the
    // actual address.
    //    
    tmp = *(INT16U const *)task;
   
	// 36 Bytes
    *stks-- = (INT8U)tmp;	//Put task start address on top of hardware stack
    *stks-- = (INT8U)(tmp >> 8);

    *stk-- = (INT8U)0x00;		// R0  = 0x00
    *stk-- = (INT8U)0x01; 
    *stk-- = (INT8U)0x02;
    *stk-- = (INT8U)0x03;
    *stk-- = (INT8U)0x04;
    *stk-- = (INT8U)0x05;
    *stk-- = (INT8U)0x06;
    *stk-- = (INT8U)0x07;
    *stk-- = (INT8U)0x08;
    *stk-- = (INT8U)0x09;
    *stk-- = (INT8U)0x10;
    *stk-- = (INT8U)0x11;
    *stk-- = (INT8U)0x12;
    *stk-- = (INT8U)0x13;
    *stk-- = (INT8U)0x14;
    *stk-- = (INT8U)0x15;
    tmp    = (INT16U)pdata;
    *stk-- = (INT8U)tmp;	//Simulate call to function with argument
    *stk-- = (INT8U)(tmp >> 8);
    *stk-- = (INT8U)0x18;
    *stk-- = (INT8U)0x19;
    *stk-- = (INT8U)0x20;
    *stk-- = (INT8U)0x21;
    *stk-- = (INT8U)0x22;
    *stk-- = (INT8U)0x23;
    *stk-- = (INT8U)0x24;
    *stk-- = (INT8U)0x25;
    *stk-- = (INT8U)0x26;
    *stk-- = (INT8U)0x27;
	// the heap pointer Y=R29:R28 will not be stored
    *stk-- = (INT8U)0x30;
    *stk-- = (INT8U)0x31;
//    *stk-- = (INT8U)0x3B;
    *stk-- = (INT8U)0x80;	//SREG = Interrupts enabled

    tmp    = (INT16U)(stks);
    *stk-- = (INT8U)(tmp >> 8);
    *stk   = (INT8U)(tmp);
    return ((void *)stk);
}

INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio)
{
    void   *psp;
    INT8U   err;


    if (prio > OS_LOWEST_PRIO) {             /* Make sure priority is within allowable range           */
        return (OS_PRIO_INVALID);
    }
    OS_ENTER_CRITICAL();
    if (OSTCBPrioTbl[prio] == (OS_TCB *)0) { /* Make sure task doesn't already exist at this priority  */
        OSTCBPrioTbl[prio] = (OS_TCB *)1;    /* Reserve the priority to prevent others from doing ...  */
                                             /* ... the same thing until task is created.              */
        OS_EXIT_CRITICAL();
        psp = (void *)OSTaskStkInit(task, pdata, ptos, 0); /* Initialize the task's stack              */
        err = OSTCBInit(prio, psp, (void *)0, 0, 0, (void *)0, 0);         
        if (err == OS_NO_ERR) {
            OS_ENTER_CRITICAL();
            OSTaskCtr++;                                   /* Increment the #tasks counter             */
            OS_EXIT_CRITICAL();
            if (OSRunning) {                 /* Find highest priority task if multitasking has started */
                OSSched();
            }
        } else {
            OS_ENTER_CRITICAL();
            OSTCBPrioTbl[prio] = (OS_TCB *)0;/* Make this priority available to others                 */
            OS_EXIT_CRITICAL();
        }
        return (err);
    } else {
        OS_EXIT_CRITICAL();
        return (OS_PRIO_EXIST);
    }
}
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人a级片| 亚洲日本在线天堂| 婷婷久久综合九色综合绿巨人| 成人一区在线看| 欧美极品aⅴ影院| 国产另类ts人妖一区二区| 日韩一区二区在线观看视频播放| 亚洲一区二三区| 欧美吻胸吃奶大尺度电影| ...中文天堂在线一区| 国产99久久久久久免费看农村| 日韩一级黄色片| 日韩精品亚洲专区| 欧美色图在线观看| 另类小说视频一区二区| 日韩免费性生活视频播放| 人妖欧美一区二区| 欧美本精品男人aⅴ天堂| 久久99精品国产麻豆婷婷洗澡| 精品国产一二三| 国产精品69久久久久水密桃| 欧美电视剧免费全集观看| 国产精品原创巨作av| 久久久综合九色合综国产精品| 蜜桃久久久久久久| 久久色.com| 成人99免费视频| 亚洲色图另类专区| 欧美在线综合视频| 国内精品久久久久影院薰衣草| 精品免费日韩av| 国产盗摄精品一区二区三区在线| 精品三级在线看| 成人一道本在线| 亚洲日本电影在线| 91免费在线看| 捆绑变态av一区二区三区| 欧美成人国产一区二区| 国产成a人亚洲| 久久久精品黄色| 欧美日韩一级片网站| 激情综合色综合久久| 欧美经典一区二区| 91精品国产91热久久久做人人| 久久成人久久爱| 亚洲三级理论片| 欧美一区二区福利视频| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产在线国偷精品产拍免费yy| 日韩一区二区三区电影 | 狂野欧美性猛交blacked| 亚洲精品一区二区三区影院| 懂色一区二区三区免费观看| 亚洲成人福利片| 国产午夜亚洲精品不卡| 欧美三区在线观看| 99精品热视频| 久久99日本精品| 亚洲欧洲性图库| 精品国免费一区二区三区| 国产一区二区不卡| 在线观看视频一区| 国产精品12区| 亚洲欧美色图小说| 国产欧美一区二区精品秋霞影院| 欧美日韩情趣电影| 在线观看欧美黄色| 丁香六月久久综合狠狠色| 久久国产精品无码网站| 亚洲第一成年网| 国产精品色在线观看| 国产日韩欧美麻豆| 日韩欧美不卡在线观看视频| 国产iv一区二区三区| 国产精品69久久久久水密桃 | 色哟哟一区二区三区| 国产一区二区看久久| 日本欧美韩国一区三区| 日韩一区精品视频| 一区二区三区四区蜜桃| 国产嫩草影院久久久久| 精品国产乱码久久久久久闺蜜| 在线精品视频一区二区三四| 国产麻豆91精品| 粉嫩高潮美女一区二区三区| 免费欧美在线视频| 亚洲精品久久嫩草网站秘色| 国产精品国产精品国产专区不蜜 | 欧美日韩色综合| 91在线观看视频| 国产激情一区二区三区四区| 国产精品亚洲一区二区三区妖精 | 国产精品99久久久久久久女警| 亚洲视频狠狠干| 日韩视频永久免费| 欧美一区二区黄色| 欧美日韩综合色| 欧美写真视频网站| 欧美亚男人的天堂| 欧美日韩成人在线| 欧美日韩国产综合一区二区 | 亚洲欧美一区二区三区孕妇| 国产精品伦一区二区三级视频| 日韩一区二区电影| 欧美顶级少妇做爰| 色欧美片视频在线观看| 在线视频你懂得一区二区三区| 成人综合婷婷国产精品久久| 国产成人精品综合在线观看| 成人在线综合网站| 欧美特级限制片免费在线观看| 在线欧美一区二区| 欧美放荡的少妇| 欧美日韩一区视频| 这里只有精品99re| 欧洲激情一区二区| 欧美色精品在线视频| 91色.com| 欧美日韩国产三级| 91精彩视频在线| 在线不卡a资源高清| 337p日本欧洲亚洲大胆精品| 国产日韩精品一区二区三区在线| 中文一区在线播放| 国产欧美一区二区三区网站| 亚洲午夜影视影院在线观看| 视频一区免费在线观看| 国产成人免费xxxxxxxx| 色综合久久88色综合天天免费| 欧美日韩亚洲另类| 久久众筹精品私拍模特| 中文字幕亚洲成人| 国产精品久线在线观看| 日韩电影在线观看一区| 成人手机在线视频| 欧美一区日韩一区| 久久久久国产精品人| 日韩伦理免费电影| 青草国产精品久久久久久| 国产精品18久久久久久久久久久久| 亚洲欧美在线观看| 国产亚洲综合性久久久影院| 性做久久久久久| 国产成人在线观看| 欧美一级二级三级乱码| 国产精品久久久久三级| 麻豆国产欧美日韩综合精品二区 | 国产成人精品综合在线观看| 美女视频网站久久| 欧美亚洲国产怡红院影院| 精品理论电影在线观看| 亚洲激情自拍偷拍| 成人爽a毛片一区二区免费| 3d动漫精品啪啪一区二区竹菊| 亚洲欧美另类小说视频| 久久国内精品视频| 91精品国产91久久综合桃花| 亚洲三级电影网站| 国产乱码精品一品二品| 欧美一级夜夜爽| 日本伊人色综合网| 欧美亚洲丝袜传媒另类| 国产精品久久久久国产精品日日| 午夜精品免费在线观看| 91美女在线视频| 国产清纯美女被跳蛋高潮一区二区久久w | 秋霞影院一区二区| 欧美怡红院视频| 一区二区在线观看视频| 国产91精品在线观看| 欧美高清在线一区二区| 激情五月播播久久久精品| 日韩欧美高清在线| 天天影视网天天综合色在线播放| 欧美在线观看18| 有码一区二区三区| 欧美日韩一区二区三区视频| 一区二区三区四区五区视频在线观看| 91在线精品一区二区三区| 日韩视频一区二区| 精品在线免费观看| 国产日韩欧美精品综合| 国产在线精品免费av| 国产亲近乱来精品视频| 国产成人在线观看免费网站| 国产精品妹子av| 成人一级视频在线观看| 亚洲色图视频网| 一本色道久久综合亚洲91| 一区二区三区在线视频播放| 日本高清视频一区二区| 日韩中文字幕不卡| 在线观看91视频| 奇米精品一区二区三区在线观看| 99国内精品久久| 一区二区三国产精华液| 欧美一区二区三区公司| 久久成人久久爱| 亚洲人成在线播放网站岛国| 在线影院国内精品|