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

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

?? os_cpu_c.lst

?? 實現ucos任務調度時保存LCD上的顯示信息
?? LST
字號:
C51 COMPILER V8.02   OS_CPU_C                                                              05/22/2008 19:17:23 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE OS_CPU_C
OBJECT MODULE PLACED IN OS_CPU_C.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ucos\OS_CPU_C.c LARGE BROWSE INCDIR(.\dataflash;.\lcd;.\task;.\uart;.\ucos;
                    -.\key) DEBUG OBJECTEXTEND PRINT(.\OS_CPU_C.lst) OBJECT(OS_CPU_C.obj)

line level    source

   1          /*
   2          *********************************************************************************************************
   3          *                                               uC/OS-II
   4          *                                        The Real-Time Kernel
   5          *
   6          *                        (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
   7          *                                          All Rights Reserved
   8          *
   9          *                                       Keil C51 V8.02 specific code
  10          *                                          LARGE MEMORY MODEL
  11          *
  12          * File : OS_CPU.H
  13          * By   : Jean J. Labrosse
  14          *
  15          * Ported by                     : Jason.D.Proakis of Ambition Comm. Tech Ltd Cop
  16          * Target platform       : Keil C51 V8.02
  17          * Date                          : 2008-03-07
  18          *********************************************************************************************************
  19          */
  20          #ifndef  OS_CPU_GLOBALS
  21          #include "includes.h"
  22          #endif
  23          
  24          
  25          /*
  26          *********************************************************************************************************
  27          *                                        初始化任務堆棧
  28          *
  29          * 描述       : 這個函數被OSTaskCreate()或OSTaskCreateExt()調用,以便初始化新創建任務的堆棧結構。本函數
  30          *              與處理器高度相關。
  31          *
  32          * 參數       : task          指向任務代碼的指針
  33          *
  34          *              pdata         當任務第一次執行時將要傳入任務的用戶數據結構指針
  35          *
  36          *              ptos          棧頂指針。ptos指針被默認為用戶堆棧入口指針。如果OS_STK_GROWTH被置1,那么,
  37          *                            ptos指向用戶堆棧的最高有效地址。同樣地,如果OS_STK_GROWTH清0,ptos將指向
  38          *                            用戶堆棧的最低有效地址。
  39          *
  40          *              opt           指定可以改變OSTaskStkInit()行為的選項。(見uCOS_II.H for OS_TASK_OPT_???)。
  41          *
  42          * 返回值     : 我修改了原來的程序,使函數總是返回用戶堆棧空間的最低有效地址。這樣修改提高了TCB換入換出
  43          *              的效率。
  44          *
  45          * 注意       : 任務堆棧結構:
  46          *
  47          *                                    ---------- -
  48          *                 用戶棧最高地址---->|        | |
  49          *                                    ---------- |
  50          *                                    |   ...  | 仿真堆棧空間
  51          *----------                          ---------- | 每任務一個
  52          *|OSTCBCur|               ?C_XBP---->|        | | KEIL自動處理
  53          *----------                          ---------- -
  54          *    |                               |空閑間隔|
C51 COMPILER V8.02   OS_CPU_C                                                              05/22/2008 19:17:23 PAGE 2   

  55          *    |     -----------------------   ----------                           ----------
  56          *    \---->|OSTCBCur->OSTCBStkPtr|   |?C_XBP低|                    SP---->|        |
  57          *          -----------------------   ----------                           ----------
  58          *                     |              |?C_XBP高|                           |        |
  59          *                     |              ---------- -                         ----------
  60          *                     |              |        | |                         |   .    |
  61          *                     |              ---------- |                         |   .    |
  62          *                     |              |        | |                         |   .    |
  63          *                     |              ---------- |                         ----------
  64          *                     |              |   .    |長度                       |        | +1
  65          *                     |              |   .    | |                         ----------
  66          *                     |              |   .    | |             OSStack---->|        | 0
  67          *                     |              ---------- |                         ----------
  68          *                     |              |        | |          OSStkStart---->| 不關心 | -1  低地址
  69          *                     |              ---------- -                         ----------
  70          *                     \------------->|  長度  | 低地址                   系統硬件堆棧
  71          *                                    ----------
  72          *                                     用戶堆棧                       長度=SP-OSStkStart
  73          *********************************************************************************************************
  74          */
  75          OS_STK * OSTaskStkInit (void (*task)(void *pd), void *pdat, OS_STK  *ptos, INT16U prio) KCREENTRANT
  76          {    
  77   1          OS_STK  * stk;
  78   1      
  79   1          pdat = pdat;
  80   1          stk    = ptos;                                      //用戶堆棧最低有效地址
  81   1          *stk++ = 15;                                //用戶堆棧長度
  82   1          *stk++ = (INT16U)task & 0xFF;               //任務地址低8位
  83   1          *stk++ = (INT16U)task >> 8;                 //任務地址高8位    
  84   1          *stk++ = 0x00;                              //PSW
  85   1          *stk++ = 0x0A;                              //ACC
  86   1          *stk++ = 0x0B;                              //B
  87   1          *stk++ = 0x00;                              //DPL
  88   1          *stk++ = 0x00;                              //DPH
  89   1          *stk++ = 0x00;                              //R0
  90   1          *stk++ = 0x01;                              //R1
  91   1          *stk++ = 0x02;                              //R2
  92   1          *stk++ = 0x03;                              //R3
  93   1          *stk++ = 0x04;                              //R4
  94   1          *stk++ = 0x05;                              //R5
  95   1          *stk++ = 0x06;                              //R6
  96   1          *stk++ = 0x07;                              //R7
  97   1      
  98   1          if(prio == OS_LOWEST_PRIO){                    
  99   2                      *stk++ = (INT16U)(ptos + OS_TASK_IDLE_STK_SIZE)>>8;                     //?C_xBP + 1
 100   2                      *stk++ = (INT16U)(ptos + OS_TASK_IDLE_STK_SIZE)&0xff;                   //?C_xBP
 101   2                      }
 102   1              else{
 103   2                      *stk++ = (INT16U)(ptos + USER_STACK_SIZE)>>8;                   //?C_xBP + 1
 104   2                      *stk++ = (INT16U)(ptos + USER_STACK_SIZE)&0xff;                 //?C_xBP
 105   2                      }
 106   1       
 107   1      
 108   1          return ((void *)ptos);
 109   1      }
 110          
 111          #if OS_CPU_HOOKS_EN
 112          
 113          
 114          void OSTaskCreateHook (OS_TCB *ptcb) KCREENTRANT
 115          {
 116   1          ptcb = ptcb;                       /* Prevent compiler warning                                     */
C51 COMPILER V8.02   OS_CPU_C                                                              05/22/2008 19:17:23 PAGE 3   

 117   1      }
 118          
 119          void OSTaskDelHook(OS_TCB *ptcb) KCREENTRANT
 120          {
 121   1          ptcb = ptcb; 
 122   1      }
 123          
 124          void OSTaskStatHook(void) KCREENTRANT
 125          {
 126   1      }
 127          
 128          void OSTCBInitHook(OS_TCB *ptcb) KCREENTRANT
 129          {
 130   1          ptcb = ptcb;                       /* Prevent compiler warning                                     */ 
 131   1      }
 132          
 133          void OSTaskSwHook (void) KCREENTRANT
 134          {
 135   1              unsigned char i;
 136   1              static unsigned int recovery[MAX_RC_NUM] ={7, 9, 8, 15};
 137   1              //if((OSTCBCur->OSTCBPrio == OSTCBHighRdy->OSTCBPrio) && (OSRunning == 1))
 138   1              if((OSTCBCur->OSTCBPrio == RC_ID_1) || (OSTCBCur->OSTCBPrio == RC_ID_2) || (OSTCBCur->OSTCBPrio == RC_ID_
             -3))
 139   1              {
 140   2                      for(i =0; i < MAX_RC_NUM; i++)
 141   2                      {
 142   3                              if((INT8U)(recovery[i] & 0xff) == OSTCBCur->OSTCBPrio)
 143   3                              {
 144   4                                      uart_put_char('0'+ OSTCBCur->OSTCBPrio);
 145   4                                      uart_put_str("LCD is stored\n");
 146   4                                      recovery[i] |=0x100;
 147   4                                      break;
 148   4                              }
 149   3                      }
 150   2              }
 151   1              if((OSTCBHighRdy->OSTCBPrio == RC_ID_1) || (OSTCBHighRdy->OSTCBPrio == RC_ID_2) || (OSTCBHighRdy->OSTCBPr
             -io == RC_ID_3))
 152   1              {
 153   2                      for(i =0; i < MAX_RC_NUM; i++)
 154   2                      {
 155   3                              if(((INT8U)(recovery[i] & 0x00ff)) == OSTCBHighRdy->OSTCBPrio)
 156   3                              {
 157   4                                      if(((INT8U)((recovery[i] >> 8) && 0x1)) == 1)
 158   4                                      {
 159   5                                              uart_put_char('0'+ OSTCBHighRdy->OSTCBPrio);
 160   5                                              uart_put_str("LCD is recovered\n");
 161   5                                      }
 162   4                                      break;
 163   4                              }
 164   3                      }
 165   2              }
 166   1      }
 167          
 168          void OSInitHookBegin(void)KCREENTRANT
 169          {
 170   1      }
 171          
 172          void OSInitHookEnd(void)KCREENTRANT
 173          {
 174   1      }
 175          
 176          void OSTaskIdleHook(void)KCREENTRANT
C51 COMPILER V8.02   OS_CPU_C                                                              05/22/2008 19:17:23 PAGE 4   

 177          {
 178   1      }
 179          
 180          #endif
 181          /*
 182          *********************************************************************************************************
 183          *                                          定時鉤掛函數
 184          *
 185          * 描述       : 本函數每一滴答被調用一次。
 186          *
 187          * 參數       : 無
 188          *
 189          * 注意       : 1) 在本調用期間中斷可以或不可以使能。
 190          *********************************************************************************************************
 191          */
 192          void OSTimeTickHook (void) KCREENTRANT
 193          {
 194   1      }
 195          
 196          //初始化定時器0
 197          void init_timer0(void)
 198          {
 199   1          TMOD &= 0xF0;
 200   1          TMOD |= 0x01;                       //模式1(16位定時器),僅受TR0控制
 201   1              CKCON |= 0x02;                          /* timer0 use sysclck/48 */
 202   1              CKCON &= ~0x05;
 203   1          TH0  = 0x63;                                //(INT16U)(SYS_TIMER_RELOAD) >> 8;      
 204   1          TL0  = 0xC0;                                //(INT16U)(SYS_TIMER_RELOAD) & 0xFF;  
 205   1          ET0  =  1;                          //允許T0中斷  
 206   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1079    ----
   CONSTANT SIZE    =     33    ----
   XDATA SIZE       =      8    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜视频网站| 亚洲乱码中文字幕| 亚洲码国产岛国毛片在线| 视频一区二区中文字幕| 懂色av一区二区三区免费看| 欧美精品123区| 夜色激情一区二区| 菠萝蜜视频在线观看一区| 日韩精品专区在线影院观看| 亚洲大型综合色站| 91在线观看美女| 国产日韩精品一区二区三区| 日本亚洲最大的色成网站www| 色综合久久综合网97色综合| 国产三级久久久| 国产一区二区按摩在线观看| 日韩欧美国产三级| 日韩电影免费在线观看网站| 欧美日韩在线播放三区| 亚洲欧美激情插 | 欧美一区日韩一区| 一级日本不卡的影视| 91免费看`日韩一区二区| 亚洲国产精品av| 粉嫩蜜臀av国产精品网站| 久久免费美女视频| 国产麻豆一精品一av一免费| 日韩一区二区精品| 美女一区二区视频| 精品国产一区二区三区四区四 | 久久成人精品无人区| 欧美视频自拍偷拍| 五月天丁香久久| 91精选在线观看| 美腿丝袜亚洲三区| 欧美一区二区在线播放| 秋霞电影一区二区| 欧美电影免费观看高清完整版| 日本不卡不码高清免费观看| 欧美高清激情brazzers| 麻豆精品一二三| 国产亚洲精品7777| 成人一区二区三区视频| 欧美国产精品一区| 91蜜桃婷婷狠狠久久综合9色| 亚洲精选在线视频| 欧美日韩精品系列| 久久99久久久欧美国产| 国产亚洲一区二区三区在线观看| 成人午夜伦理影院| 亚洲精品视频在线| 91精品国产91热久久久做人人| 免费久久精品视频| 国产精品视频你懂的| 色综合中文字幕| 成人在线一区二区三区| 日本一区二区三区在线观看| 成人的网站免费观看| 一区二区三区四区中文字幕| 欧美日本在线播放| 国产精品亚洲一区二区三区在线| 国产精品美女久久久久久久| 色狠狠桃花综合| 蜜桃av一区二区在线观看| 久久理论电影网| 欧美一a一片一级一片| 精品一区二区免费在线观看| 久久精品夜色噜噜亚洲aⅴ| 99久久国产综合精品色伊| 日韩激情一二三区| 国产精品欧美久久久久无广告 | 粉嫩av一区二区三区| 一区二区三区丝袜| 精品国产制服丝袜高跟| 91在线精品一区二区三区| 五月天网站亚洲| 国产精品国产精品国产专区不蜜 | www.爱久久.com| 婷婷丁香久久五月婷婷| 国产精品欧美久久久久无广告| 欧美精品乱码久久久久久 | 国产乱淫av一区二区三区| 亚洲欧美成人一区二区三区| 中文字幕综合网| 日韩亚洲欧美成人一区| 91免费精品国自产拍在线不卡| 九色|91porny| 亚洲国产一二三| 最新国产精品久久精品| 26uuu久久天堂性欧美| 69av一区二区三区| 色婷婷综合视频在线观看| 国产a级毛片一区| 精品一区二区三区av| 日韩综合在线视频| 亚洲高清免费观看高清完整版在线观看| 国产午夜久久久久| 久久综合久色欧美综合狠狠| 欧美一区二区免费| 欧美另类videos死尸| 99精品欧美一区二区三区小说 | 免费美女久久99| 一区二区三区在线观看国产| 国产精品国产三级国产普通话蜜臀 | 亚洲一区在线观看免费 | kk眼镜猥琐国模调教系列一区二区| 日韩和欧美的一区| 亚洲国产精品视频| 亚洲制服欧美中文字幕中文字幕| 中文字幕av不卡| 国产色综合一区| 久久久精品国产99久久精品芒果| 欧美一卡在线观看| 欧美一二区视频| 精品国产免费久久 | 欧美一级精品大片| 91精品国产91久久综合桃花| 日韩一级片网站| 欧美本精品男人aⅴ天堂| 欧美成人在线直播| 亚洲欧美日韩久久| 专区另类欧美日韩| 夜夜亚洲天天久久| 日本不卡123| 久久精品久久精品| 国产精品亚洲专一区二区三区| 国产激情视频一区二区在线观看 | 久久九九99视频| 中文字幕欧美三区| 亚洲欧美视频在线观看| 亚洲五码中文字幕| 久久电影国产免费久久电影| 成人三级伦理片| 91浏览器打开| 欧美日韩一区二区三区不卡| 91精品国产综合久久久蜜臀图片| 欧美mv日韩mv国产网站app| 亚洲国产精品成人综合| 夜夜嗨av一区二区三区四季av| 亚洲国产日韩av| 日本不卡高清视频| 国产成人精品免费| 在线观看视频91| 精品久久久三级丝袜| 中文字幕亚洲欧美在线不卡| 亚洲高清视频中文字幕| 国产在线麻豆精品观看| 91亚洲精品久久久蜜桃网站| 欧美日韩不卡一区二区| 久久综合久久综合久久| 亚洲激情在线播放| 久久精品久久99精品久久| 91免费版pro下载短视频| 日韩欧美一级在线播放| 欧美国产欧美综合| 手机精品视频在线观看| 国产精品99久久久久久有的能看 | 成人爱爱电影网址| 欧美日韩一卡二卡三卡| 国产亚洲欧美日韩日本| 亚洲电影激情视频网站| 国产成人啪午夜精品网站男同| 欧美影院精品一区| 中文字幕巨乱亚洲| 蜜臀a∨国产成人精品| av资源网一区| 日韩精品一区二| 亚洲午夜av在线| 高清视频一区二区| 亚洲精品一线二线三线| 亚洲成人精品影院| 91毛片在线观看| 中文一区二区完整视频在线观看| 同产精品九九九| 色婷婷av一区二区三区之一色屋| 精品国产免费人成在线观看| 午夜国产精品影院在线观看| 91在线免费播放| 国产精品欧美一级免费| 国产一区二区三区久久久| 欧美一卡二卡在线| 亚洲aaa精品| 欧美无砖砖区免费| 一级精品视频在线观看宜春院 | eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 91黄视频在线观看| 中文一区二区在线观看| 国产寡妇亲子伦一区二区| 欧美不卡123| 精久久久久久久久久久| 日韩精品专区在线| 久久精品噜噜噜成人av农村| 欧美一区午夜精品| 美女在线一区二区| 亚洲欧美一区二区在线观看| 国产激情91久久精品导航 | 国产资源在线一区| 精品成人在线观看| 国内精品伊人久久久久av一坑| 欧美va亚洲va香蕉在线|