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

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

?? sch51.lst

?? 嵌入式 時間觸發的嵌入式系統內核程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.01   SCH51                                                                 07/13/2008 18:02:06 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE SCH51
OBJECT MODULE PLACED IN SCH51.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SCH51.C OPTIMIZE(6,SIZE) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*------------------------------------------------------------------*-
   2          
   3             SCH51.C (v1.00) 
   4          
   5            ------------------------------------------------------------------
   6          
   7             *** THESE ARE THE CORE SCHEDULER FUNCTIONS ***
   8             --- These functions may be used with all 8051 devices ---
   9          
  10             *** SCH_MAX_TASKS *must* be set by the user ***
  11             --- see "Sch51.H" ---
  12          
  13             *** Includes (optional) power-saving mode ***
  14             --- You must ensure that the power-down mode is adapted ---
  15             --- to match your chosen device (or disabled altogether) ---
  16          
  17          
  18             COPYRIGHT
  19             ---------
  20          
  21             This code is from the book:
  22          
  23             PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  24             [Pearson Education, 2001; ISBN: 0-201-33138-1].
  25          
  26             This code is copyright (c) 2001 by Michael J. Pont.
  27           
  28             See book for copyright details and other information.
  29          
  30          -*------------------------------------------------------------------*/
  31          
  32          #include "Main.h"
  33          #include "Port.h"
  34          
  35          #include "Sch51.h"
  36          
  37          // ------ Public variable definitions ------------------------------
  38          
  39          // The array of tasks
  40          sTask SCH_tasks_G[SCH_MAX_TASKS];
  41          
  42          // Used to display the error code
  43          // See Main.H for details of error codes
  44          // See Port.H for details of the error port
  45          tByte Error_code_G = 0;
  46          
  47          // ------ Private function prototypes ------------------------------
  48          
  49          static void SCH_Go_To_Sleep(void);
  50          
  51          // ------ Private variables ----------------------------------------
  52          
  53          // Keeps track of time since last error was recorded (see below)
  54          static tWord Error_tick_count_G;
  55          
C51 COMPILER V8.01   SCH51                                                                 07/13/2008 18:02:06 PAGE 2   

  56          // The code of the last error (reset after ~1 minute)
  57          static tByte Last_error_code_G;
  58          
  59          
  60          /*------------------------------------------------------------------*-
  61          
  62            SCH_Dispatch_Tasks()
  63          
  64            This is the 'dispatcher' function.  When a task (function)
  65            is due to run, SCH_Dispatch_Tasks() will run it.
  66            This function must be called (repeatedly) from the main loop.
  67          
  68          -*------------------------------------------------------------------*/
  69          void SCH_Dispatch_Tasks(void) 
  70             {
  71   1         tByte Index;
  72   1      
  73   1         // Dispatches (runs) the next task (if one is ready)
  74   1         for (Index = 0; Index < SCH_MAX_TASKS; Index++)
  75   1            {
  76   2            if (SCH_tasks_G[Index].RunMe > 0) 
  77   2               {
  78   3               (*SCH_tasks_G[Index].pTask)();  // Run the task
  79   3      
  80   3               SCH_tasks_G[Index].RunMe -= 1;   // Reset / reduce RunMe flag
  81   3      
  82   3               // Periodic tasks will automatically run again
  83   3               // - if this is a 'one shot' task, remove it from the array
  84   3               if (SCH_tasks_G[Index].Period == 0)
  85   3                  {
  86   4                  SCH_Delete_Task(Index);
  87   4                  }
  88   3               }
  89   2            }
  90   1      
  91   1         // Report system status
  92   1         SCH_Report_Status();  
  93   1      
  94   1         // The scheduler enters idle mode at this point 
  95   1         SCH_Go_To_Sleep();          
  96   1         }
  97          
  98          /*------------------------------------------------------------------*-
  99          
 100            SCH_Add_Task()
 101          
 102            Causes a task (function) to be executed at regular intervals 
 103            or after a user-defined delay
 104          
 105            Fn_P   - The name of the function which is to be scheduled.
 106                     NOTE: All scheduled functions must be 'void, void' -
 107                     that is, they must take no parameters, and have 
 108                     a void return type. 
 109                             
 110            DELAY  - The interval (TICKS) before the task is first executed
 111          
 112            PERIOD - If 'PERIOD' is 0, the function is only called once,
 113                     at the time determined by 'DELAY'.  If PERIOD is non-zero,
 114                     then the function is called repeatedly at an interval
 115                     determined by the value of PERIOD (see below for examples
 116                     which should help clarify this).
 117          
C51 COMPILER V8.01   SCH51                                                                 07/13/2008 18:02:06 PAGE 3   

 118          
 119            RETURN VALUE:  
 120          
 121            Returns the position in the task array at which the task has been 
 122            added.  If the return value is SCH_MAX_TASKS then the task could 
 123            not be added to the array (there was insufficient space).  If the
 124            return value is < SCH_MAX_TASKS, then the task was added 
 125            successfully.  
 126          
 127            Note: this return value may be required, if a task is
 128            to be subsequently deleted - see SCH_Delete_Task().
 129          
 130            EXAMPLES:
 131          
 132            Task_ID = SCH_Add_Task(Do_X,1000,0);
 133            Causes the function Do_X() to be executed once after 1000 sch ticks.            
 134          
 135            Task_ID = SCH_Add_Task(Do_X,0,1000);
 136            Causes the function Do_X() to be executed regularly, every 1000 sch ticks.            
 137          
 138            Task_ID = SCH_Add_Task(Do_X,300,1000);
 139            Causes the function Do_X() to be executed regularly, every 1000 ticks.
 140            Task will be first executed at T = 300 ticks, then 1300, 2300, etc.            
 141           
 142          -*------------------------------------------------------------------*/
 143          tByte SCH_Add_Task(void (code * pFunction)(), 
 144                             const tWord DELAY, 
 145                             const tWord PERIOD)    
 146             {
 147   1         tByte Index = 0;
 148   1         
 149   1         // First find a gap in the array (if there is one) //注意在這里 MAIN()運行了SCH_Delete_Task(const tBy
             -te TASK_INDEX) 
 150   1         //就把所有的任務     的函數指針SCH_tasks_G[Index].pTask清零了,所以如果沒有添加的任務,SCH_tasks_G[Index].p
             -Task == 0
 151   1         while ((SCH_tasks_G[Index].pTask != 0) && (Index < SCH_MAX_TASKS))
 152   1            {
 153   2            Index++;
 154   2            } 
 155   1         
 156   1         // Have we reached the end of the list?   
 157   1         if (Index == SCH_MAX_TASKS)
 158   1            {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产无毒不卡在线观看| 久久久综合激的五月天| 亚洲人成电影网站色mp4| 成人午夜看片网址| 国产精品久久久久aaaa樱花 | 91精品午夜视频| 日韩高清中文字幕一区| 日韩欧美在线网站| 国产乱码精品一区二区三区av| 国产欧美综合在线观看第十页| 成人av在线影院| 亚洲一二三级电影| 精品久久久网站| www.成人在线| 亚洲va欧美va人人爽| 精品少妇一区二区三区| 99在线精品视频| 日韩高清不卡一区| 国产精品视频麻豆| 欧美色综合久久| 激情五月播播久久久精品| 国产精品美女视频| 欧美日韩高清在线| 成人精品一区二区三区中文字幕| 亚洲综合图片区| 久久亚洲免费视频| 在线精品国精品国产尤物884a| 蜜桃一区二区三区在线观看| 亚洲欧洲精品一区二区三区| 51精品秘密在线观看| 播五月开心婷婷综合| 日韩国产精品大片| 欧美国产视频在线| 欧美日韩国产综合一区二区三区 | 亚洲欧美自拍偷拍色图| 欧美嫩在线观看| 国产69精品久久久久毛片| 亚洲图片欧美综合| 国产精品素人视频| 日本一区二区三区电影| 色综合久久88色综合天天| 午夜精品福利视频网站| 久久久www成人免费毛片麻豆 | 欧美一级理论片| 91在线视频播放地址| 经典三级视频一区| 亚洲一区二区三区在线看| 国产三级一区二区三区| 正在播放亚洲一区| 91视频在线观看免费| 狠狠久久亚洲欧美| 亚洲三级电影全部在线观看高清| 精品国产a毛片| 91精品国产综合久久精品图片| 91在线高清观看| 粉嫩aⅴ一区二区三区四区| 免费观看一级欧美片| 亚洲电影激情视频网站| 一级中文字幕一区二区| 最新国产精品久久精品| 久久久久久久综合| 欧美巨大另类极品videosbest| 色综合欧美在线视频区| 99久久国产综合精品色伊| 国产老妇另类xxxxx| 国模冰冰炮一区二区| 另类的小说在线视频另类成人小视频在线| 亚洲一区二区三区四区在线免费观看 | 国产精品青草综合久久久久99| 日韩精品资源二区在线| 91精品国产综合久久香蕉的特点| 欧美日韩日日摸| 欧美网站大全在线观看| 色狠狠色狠狠综合| 日本韩国一区二区三区视频| 色噜噜狠狠色综合欧洲selulu| 99精品偷自拍| 色偷偷一区二区三区| 97se亚洲国产综合自在线| 成人av高清在线| 91丝袜美腿高跟国产极品老师 | 国产午夜精品理论片a级大结局| 久久无码av三级| 久久精品免视看| 2024国产精品| 国产精品久久二区二区| 亚洲视频一区在线观看| 一区二区三区在线视频免费观看| 亚洲一区中文在线| 天天av天天翘天天综合网 | 国产综合久久久久久鬼色| 国产一区二区三区| 国产成人小视频| caoporen国产精品视频| 欧洲亚洲精品在线| 欧美日本韩国一区二区三区视频| 欧美一卡在线观看| 久久先锋影音av鲁色资源| 国产精品动漫网站| 亚洲高清久久久| 精品一区二区久久久| 丰满少妇久久久久久久| 一本一道久久a久久精品 | 亚洲午夜国产一区99re久久| 蜜桃视频在线观看一区| 狠狠色丁香婷婷综合| 成人午夜免费视频| 欧美人与禽zozo性伦| 精品美女一区二区三区| 最新热久久免费视频| 日本中文字幕一区二区视频| 丰满少妇久久久久久久| 欧美日本一区二区三区四区| 久久精品日韩一区二区三区| 亚洲理论在线观看| 麻豆免费看一区二区三区| 播五月开心婷婷综合| 91精品国模一区二区三区| 欧美国产成人在线| 五月天激情综合| 成人午夜精品在线| 日韩午夜电影av| 亚洲欧美一区二区久久| 另类调教123区| 欧美亚洲高清一区| 国产欧美一区二区三区鸳鸯浴 | 中文成人综合网| 亚洲va欧美va天堂v国产综合| 国产激情一区二区三区四区| 欧美福利电影网| 国产精品成人在线观看| 久久99热99| 欧美亚洲高清一区二区三区不卡| 久久精品一区二区三区不卡牛牛| 午夜精品久久久久久不卡8050| 国产成人h网站| 91精品国产品国语在线不卡| 亚洲精选视频在线| 亚洲国产cao| 成人免费观看视频| 精品国产一区二区三区不卡| 亚洲成av人片在线观看| 99在线精品观看| 国产女人18毛片水真多成人如厕 | 国内精品伊人久久久久av影院| 欧美伊人久久久久久久久影院 | 久久亚洲综合色一区二区三区 | 久久国内精品自在自线400部| 在线免费观看日本欧美| 综合中文字幕亚洲| 成人黄色777网| 中文字幕欧美三区| 国产伦精一区二区三区| 精品久久久影院| 一区二区三区在线视频免费观看| 激情综合亚洲精品| 欧美日韩一级黄| 亚洲人亚洲人成电影网站色| 粉嫩高潮美女一区二区三区| 精品对白一区国产伦| 免费成人在线视频观看| 欧美日韩国产影片| 午夜伦欧美伦电影理论片| 色老汉一区二区三区| 一区二区三区在线观看动漫| 91美女蜜桃在线| 亚洲一区精品在线| 欧美系列亚洲系列| 香蕉久久一区二区不卡无毒影院| 在线免费一区三区| 亚洲国产一区二区三区| 欧美色图片你懂的| 日本午夜精品视频在线观看 | 99久久精品国产一区二区三区| 国产精品女同互慰在线看| www.日韩在线| 一区二区三区在线观看国产| 在线观看亚洲精品视频| 无吗不卡中文字幕| 日韩视频在线观看一区二区| 欧美日韩免费高清一区色橹橹| 亚洲色图都市小说| 欧美视频第二页| 久久99日本精品| 日韩一区二区免费在线观看| 男女视频一区二区| www国产精品av| 国产v综合v亚洲欧| 1024成人网| 欧美视频一区二区在线观看| 日韩国产精品久久久| 精品日韩在线一区| 国产.精品.日韩.另类.中文.在线.播放| 国产精品视频线看| 欧美性色综合网| 国产乱子伦视频一区二区三区| 亚洲欧洲韩国日本视频 | 国产成人av影院| 亚洲蜜臀av乱码久久精品| 91精品一区二区三区久久久久久 |