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

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

?? os_cpu_c.c

?? ucos2shell yy code
?? C
字號:
/*
*********************************************************************************************************
*                                               uC/OS-II
*                                               實時內核
*
*                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
*                                               版權所有
*
*                                            MCU-51 專用代碼
*                                           KEIL C51大模式編譯
*
* 文件名 : OS_CPU_C.C
* 作者   : Jean J. Labrosse
* 改編   : 楊屹 gdtyy@ri.gdt.com.cn 巨龍公司系統集成開發部 2002.09.27
*********************************************************************************************************
*/

#define  OS_CPU_GLOBALS
#include "includes.h"

/*
*********************************************************************************************************
*                                        初始化任務堆棧
*
* 描述       : 這個函數被OSTaskCreate()或OSTaskCreateExt()調用,以便初始化新創建任務的堆棧結構。本函數
*              與處理器高度相關。
*
* 參數       : task          指向任務代碼的指針
*
*              pdata         當任務第一次執行時將要傳入任務的用戶數據結構指針
*
*              ptos          棧頂指針。ptos指針被默認為用戶堆棧入口指針。如果OS_STK_GROWTH被置1,那么,
*                            ptos指向用戶堆棧的最高有效地址。同樣地,如果OS_STK_GROWTH清0,ptos將指向
*                            用戶堆棧的最低有效地址。
*
*              opt           指定可以改變OSTaskStkInit()行為的選項。(見uCOS_II.H for OS_TASK_OPT_???)。
*
* 返回值     : 我修改了原來的程序,使函數總是返回用戶堆??臻g的最低有效地址。這樣修改提高了TCB換入換出
*              的效率。
*
* 注意       : 任務堆棧結構:
*
*                                    ---------- -
*                 用戶棧最高地址---->|        | |
*                                    ---------- |
*                                    |   ...  | 仿真堆棧空間
*----------                          ---------- | 每任務一個
*|OSTCBCur|               ?C_XBP---->|        | | KEIL自動處理
*----------                          ---------- -
*    |                               |空閑間隔|
*    |     -----------------------   ----------                           ----------
*    \---->|OSTCBCur->OSTCBStkPtr|   |?C_XBP低|                    SP---->|        |
*          -----------------------   ----------                           ----------
*                     |              |?C_XBP高|                           |        |
*                     |              ---------- -                         ----------
*                     |              |        | |                         |   .    |
*                     |              ---------- |                         |   .    |
*                     |              |        | |                         |   .    |
*                     |              ---------- |                         ----------
*                     |              |   .    |長度                       |        | +1
*                     |              |   .    | |                         ----------
*                     |              |   .    | |             OSStack---->|        | 0
*                     |              ---------- |                         ----------
*                     |              |        | |          OSStkStart---->| 不關心 | -1  低地址
*                     |              ---------- -                         ----------
*                     \------------->|  長度  | 低地址                   系統硬件堆棧
*                                    ----------
*                                     用戶堆棧                       長度=SP-OSStkStart
*********************************************************************************************************
*/

void *OSTaskStkInit (void (*task)(void *pd), void *ppdata, void *ptos, INT16U opt) reentrant
{    
    OS_STK *stk;

    ppdata = ppdata;
    opt    = opt;                               //opt沒被用到,保留此語句防止告警產生    
    stk    = (OS_STK *)ptos;                    //用戶堆棧最低有效地址
    *stk++ = 15;                                //用戶堆棧長度
    *stk++ = (INT16U)task & 0xFF;               //任務地址低8位
    *stk++ = (INT16U)task >> 8;                 //任務地址高8位    
    *stk++ = 0x00;                              //PSW
    *stk++ = 0x0A;                              //ACC
    *stk++ = 0x0B;                              //B
    *stk++ = 0x00;                              //DPL
    *stk++ = 0x00;                              //DPH
    *stk++ = 0x00;                              //R0
    
	//R3、R2、R1用于傳遞任務參數ppdata,其中R3代表存儲器類型,R2為高字節偏移,R1為低字節位移。
	//通過分析KEIL匯編,了解到任務的void *ppdata參數恰好是用R3、R2、R1傳遞,不是通過虛擬堆棧。
    *stk++ = (INT16U)ppdata & 0xFF;             //R1
    *stk++ = (INT16U)ppdata >> 8;               //R2
    *stk++ = 0x01;                              //R3  因為我用的全是XDATA,所以存儲器類型固定為1,見C51.PDF第178頁說明。

    *stk++ = 0x04;                              //R4
    *stk++ = 0x05;                              //R5
    *stk++ = 0x06;                              //R6
    *stk++ = 0x07;                              //R7
                                                //不用保存SP,任務切換時根據用戶堆棧長度計算得出。    
    *stk++ = (INT16U) (ptos+MaxStkSize) >> 8;   //?C_XBP 仿真堆棧指針高8位
    *stk++ = (INT16U) (ptos+MaxStkSize) & 0xFF; //?C_XBP 仿真堆棧指針低8位
        
    return ((void *)ptos);
}

#if OS_CPU_HOOKS_EN
/*
*********************************************************************************************************
*                                          任務創建鉤掛函數
*
* 描述       : 任務創建時調用
*
* 參數       : ptcb是指向將被創建任務的任務控制塊的指針。
*
* 注意       : 1) 調用期間中斷被禁止
*********************************************************************************************************
*/
void OSTaskCreateHook (OS_TCB *ptcb) reentrant
{
    ptcb = ptcb;                       /* Prevent compiler warning                                     */
}


/*
*********************************************************************************************************
*                                          任務刪除鉤掛函數
*
* 描述       : 任務刪除時調用
*
* 參數       : ptcb是指向將被刪除任務的任務控制塊的指針。
*
* 注意       : 1) 調用期間中斷被禁止
*********************************************************************************************************
*/
void OSTaskDelHook (OS_TCB *ptcb) reentrant
{
    ptcb = ptcb;                       /* Prevent compiler warning                                     */
}

/*
*********************************************************************************************************
*                                          任務切換鉤掛函數
*
* 描述       : 執行任務切換時調用。這允許你在上下文切換期間執行其它操作。
*
* 參數       : 無
*
* 注意       : 1) 調用期間中斷被禁止
*              2) 假定全局指針'OSTCBHighRdy'已經指向了將要被換入的任務控制塊(即:最高優先級任務),并且
*                 'OSTCBCur'指向了將被換出的任務(即:當前任務)。
*********************************************************************************************************
*/
void OSTaskSwHook (void) reentrant
{
}

/*
*********************************************************************************************************
*                                          統計任務鉤掛函數
*
* 描述       : 這個函數每秒鐘被uC/OS-II統計任務調用。這么做使你的應用程序可以增加統計任務的功能。
*
* 注意       : 無
*********************************************************************************************************
*/
void OSTaskStatHook (void) reentrant
{
}

/*
*********************************************************************************************************
*                                          定時鉤掛函數
*
* 描述       : 本函數每一滴答被調用一次。
*
* 參數       : 無
*
* 注意       : 1) 在本調用期間中斷可以或不可以使能。
*********************************************************************************************************
*/
void OSTimeTickHook (void) reentrant
{
}
#endif

//初始化定時器0
void InitTimer0(void) reentrant
{
    TMOD=TMOD&0xF0;
    TMOD=TMOD|0x01;    //模式1(16位定時器),僅受TR0控制
    TH0=0x70;    //定義Tick=50次/秒(即0.02秒/次)
    TL0=0x00;    //OS_CPU_A.ASM  和  OS_TICKS_PER_SEC
    ET0=1;       //允許T0中斷
    TR0=1;   
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91老师片黄在线观看| 一本高清dvd不卡在线观看| 午夜久久久久久久久久一区二区| 亚洲精品成人在线| 日韩成人av影视| 国产二区国产一区在线观看| 91丨porny丨国产入口| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲午夜精品在线| 国产一区在线精品| 在线观看亚洲精品| 精品国产免费久久| 亚洲国产精品二十页| 日本麻豆一区二区三区视频| 日韩一区二区三区视频| 日韩美女啊v在线免费观看| 97久久久精品综合88久久| 欧美电影免费观看高清完整版| 国产精品美女久久久久av爽李琼 | 91久久香蕉国产日韩欧美9色| 精品国产乱码久久久久久免费| 国产精品中文字幕一区二区三区| 欧美老年两性高潮| 亚洲天堂a在线| 欧美日韩高清一区二区不卡| 亚洲精品乱码久久久久久久久 | 国产精品久久久久久久久搜平片| 中文字幕一区av| 国产一区二区女| 国产精品二三区| 欧美高清视频一二三区 | 粉嫩av一区二区三区| 777xxx欧美| 亚洲美女免费在线| 99久久久久久| 日韩高清不卡一区二区三区| 久久精品人人做人人爽人人| 久久99久久99精品免视看婷婷| 欧美欧美午夜aⅴ在线观看| 日韩在线卡一卡二| 亚洲日穴在线视频| 欧美电视剧免费观看| 91丨porny丨在线| 丁香激情综合国产| 在线观看一区二区精品视频| 精品一二三四在线| 亚洲人成在线播放网站岛国| 精品国产网站在线观看| 欧美亚洲综合另类| 午夜日韩在线观看| 国产精品国产三级国产普通话99 | 在线不卡免费欧美| 色婷婷av一区二区三区大白胸| 国内精品伊人久久久久av影院| 久久久亚洲精品一区二区三区| 国产精品影音先锋| 肉肉av福利一精品导航| 亚洲免费资源在线播放| 国产婷婷一区二区| 精品国产一区二区亚洲人成毛片| 色噜噜狠狠成人网p站| 国产成人综合网站| 午夜精品久久久久影视| 日韩国产一二三区| 国产精品国产a| 欧美不卡一区二区| 男男视频亚洲欧美| 精品免费日韩av| 欧美日韩成人综合在线一区二区| 色香蕉成人二区免费| 成人h版在线观看| 亚洲午夜视频在线| 亚洲色图视频网| 中文字幕一区二区三区不卡在线| www国产成人免费观看视频 深夜成人网| 国产高清视频一区| 国产一区999| 激情国产一区二区| 国产在线精品免费av| 国产在线精品免费| 国产九色精品成人porny | 亚洲欧美日韩一区二区 | 国产精品久久久久影视| 欧美日韩国产系列| 欧美日韩黄色影视| 欧美嫩在线观看| 日韩一区二区三区高清免费看看| 91精品在线麻豆| 日韩欧美激情一区| 久久久久久久久久看片| 中文字幕在线不卡视频| 日本一区二区三区久久久久久久久不| 色婷婷综合久久久久中文| 91在线精品一区二区| 欧美午夜宅男影院| 欧美精品久久一区| 精品国产乱码久久| 国产欧美日韩另类一区| 成人欧美一区二区三区1314| 亚洲在线一区二区三区| 国产日韩v精品一区二区| 中文一区二区完整视频在线观看| 亚洲视频免费观看| 午夜激情一区二区| 国精品**一区二区三区在线蜜桃| 北条麻妃一区二区三区| 精品一区二区三区免费| 国产精品自产自拍| 中文字幕乱码久久午夜不卡| 日本中文在线一区| 久久精品国产99国产精品| 欧美高清在线视频| 亚洲日本欧美天堂| 日本一不卡视频| 成人免费观看视频| 欧美日本免费一区二区三区| 久久综合色综合88| 亚洲在线一区二区三区| 国产美女娇喘av呻吟久久| 91麻豆高清视频| 精品少妇一区二区三区视频免付费| 欧美韩日一区二区三区四区| 性久久久久久久久| 午夜电影久久久| 国产精品夜夜嗨| 欧美人与禽zozo性伦| 国产欧美中文在线| 日韩影院免费视频| av在线不卡网| 日韩精品最新网址| 亚洲综合男人的天堂| 国产激情一区二区三区桃花岛亚洲 | 5566中文字幕一区二区电影| 91在线视频免费91| 国产麻豆视频精品| 欧美视频在线观看一区| 久久午夜免费电影| 亚洲.国产.中文慕字在线| 成人三级伦理片| 欧美v国产在线一区二区三区| 亚洲精品第一国产综合野| 国产精品白丝jk白祙喷水网站 | 国产精品综合久久| 欧美日韩一级视频| 欧美中文字幕亚洲一区二区va在线| 久久女同精品一区二区| 日本亚洲欧美天堂免费| 欧美在线播放高清精品| 国产精品高潮久久久久无| 国产一区日韩二区欧美三区| 欧美精品日日鲁夜夜添| 亚洲综合一区在线| 不卡在线视频中文字幕| 国产亚洲va综合人人澡精品| 久久精品999| 91麻豆精品国产91久久久更新时间| 又紧又大又爽精品一区二区| 99国产欧美久久久精品| 国产精品丝袜在线| 国产成都精品91一区二区三| 精品国产欧美一区二区| 精品亚洲成a人| 日韩欧美第一区| 蜜桃一区二区三区四区| 成人国产免费视频| 国产欧美日韩激情| 国产成人免费在线观看不卡| 精品国产在天天线2019| 国产一区啦啦啦在线观看| www国产亚洲精品久久麻豆| 国模大尺度一区二区三区| 久久午夜老司机| 国产成人a级片| 国产精品毛片a∨一区二区三区| 国产成人精品午夜视频免费 | 欧美一区二区日韩一区二区| 日本一区二区三区久久久久久久久不| 国内外成人在线视频| 国产日产欧美一区| 成人av综合在线| 日韩码欧中文字| 欧美综合亚洲图片综合区| 午夜av一区二区| 欧美大片一区二区三区| 国产一区二区三区香蕉| 中文字幕 久热精品 视频在线| 91色视频在线| 亚洲午夜视频在线观看| 欧美成人女星排名| 国产丶欧美丶日本不卡视频| 亚洲欧洲精品成人久久奇米网| 在线视频你懂得一区| 日韩精品一级二级 | 中文一区二区在线观看| 色综合久久久久久久久| 亚洲高清视频的网址| 欧美mv日韩mv国产网站app| 成人爽a毛片一区二区免费| 一区二区三区自拍| 成人va在线观看|