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

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

?? sch51.lst

?? 嵌入式 時間觸發(fā)的嵌入式系統(tǒng)內核程序
?? 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         //就把所有的任務     的函數(shù)指針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精品国产一区二区精品 | 91老师国产黑色丝袜在线| 蜜臀精品久久久久久蜜臀| 一区二区不卡在线播放| 日韩一区二区免费视频| 欧美日韩三级一区| 色呦呦一区二区三区| 成人深夜福利app| 国产美女av一区二区三区| 另类中文字幕网| 无码av中文一区二区三区桃花岛| 亚洲欧美另类在线| 中文字幕精品一区二区精品绿巨人| 精品国产不卡一区二区三区| 国产成人免费视频网站高清观看视频| 天天亚洲美女在线视频| 亚洲午夜电影网| 精品国精品自拍自在线| 欧美mv和日韩mv的网站| 欧美性做爰猛烈叫床潮| 欧美日韩在线播放三区| 欧美男人的天堂一二区| av在线综合网| 成人高清在线视频| 色综合久久中文字幕综合网| 欧美亚洲高清一区| 欧美日韩国产精选| 3d动漫精品啪啪1区2区免费| 欧美一区二区三区影视| 日韩欧美色综合| 中文字幕精品综合| 综合色中文字幕| 亚洲国产美女搞黄色| 日本不卡高清视频| 韩国成人在线视频| a美女胸又www黄视频久久| 91原创在线视频| 在线观看日韩国产| 91精品国产欧美日韩| 日韩欧美色电影| 国产欧美日韩另类一区| 亚洲人精品午夜| 日本成人超碰在线观看| 国产激情视频一区二区三区欧美| 免费在线看成人av| av资源站一区| 5566中文字幕一区二区电影 | 久久国产剧场电影| 国产真实乱偷精品视频免| 99在线精品一区二区三区| 欧美区视频在线观看| 久久精品一区八戒影视| 亚洲永久精品大片| 国产毛片精品一区| 在线观看日韩电影| 久久精品在这里| 日韩高清在线不卡| 六月丁香婷婷久久| 国产成人免费视频网站 | 欧美中文字幕一区二区三区| 欧美日韩小视频| 国产农村妇女毛片精品久久麻豆 | 色哟哟日韩精品| 欧美电影免费观看高清完整版在线观看| 国产日本欧美一区二区| 日韩高清在线电影| 在线免费视频一区二区| 欧美二区乱c少妇| 亚洲人一二三区| 国产精品2024| 日韩欧美的一区| 天天射综合影视| 色婷婷av久久久久久久| 久久精品一区二区三区不卡 | 国产在线精品免费| 精品视频在线免费| 国产精品国产三级国产专播品爱网| 天堂蜜桃91精品| 色综合亚洲欧洲| 国产精品久久看| 成人激情动漫在线观看| 欧美一区二区大片| 中文字幕在线不卡视频| 国产成人在线观看| 久久综合久久综合久久综合| 亚洲色大成网站www久久九九| 国产精品一二三四五| 久久免费偷拍视频| 精品无码三级在线观看视频| 日韩亚洲欧美成人一区| 日韩二区三区四区| 91精品国产色综合久久久蜜香臀| 亚洲一区二区三区激情| 在线观看亚洲一区| 亚洲黄网站在线观看| 欧美中文字幕一区| 天天色综合天天| 欧美区一区二区三区| 日韩av高清在线观看| 欧美精品久久一区二区三区| 亚洲大片一区二区三区| 欧美久久久影院| 免费在线观看一区| 中文字幕在线观看不卡| 欧美日韩成人在线| 国产成人免费高清| 亚洲二区视频在线| 久久精品亚洲麻豆av一区二区 | 成人国产精品免费网站| 一区二区不卡在线播放 | 成人午夜短视频| 亚洲线精品一区二区三区| 欧美videos中文字幕| 91免费看`日韩一区二区| 奇米影视7777精品一区二区| 国产精品不卡在线| 欧美成人欧美edvon| 99免费精品视频| 精品在线一区二区| 亚洲在线免费播放| 国产精品女主播在线观看| 日韩精品中午字幕| 欧美色男人天堂| 99精品视频中文字幕| 精品无人区卡一卡二卡三乱码免费卡 | 国产欧美日产一区| 5858s免费视频成人| 一本一道综合狠狠老| 国产福利一区二区三区| 午夜电影一区二区三区| 一区二区三区产品免费精品久久75| 久久久久久99精品| 欧美va在线播放| 91精品国产综合久久福利| 在线视频你懂得一区| 91麻豆精品在线观看| 成人高清在线视频| 成人午夜视频网站| 国产v综合v亚洲欧| 国产成人亚洲精品青草天美| 麻豆国产精品视频| 麻豆一区二区在线| 美国十次了思思久久精品导航| 午夜精品福利在线| 日韩成人精品在线| 天堂蜜桃91精品| 午夜精品爽啪视频| 天天做天天摸天天爽国产一区| 亚洲国产另类av| 亚洲国产精品综合小说图片区| 亚洲综合自拍偷拍| 一区二区三区免费| 一区二区三区在线高清| 亚洲午夜一二三区视频| 亚洲成精国产精品女| 午夜国产不卡在线观看视频| 婷婷开心激情综合| 久久精品二区亚洲w码| 国产精品一级在线| 懂色av中文字幕一区二区三区| 成人精品小蝌蚪| 91在线观看下载| 欧美军同video69gay| 日韩免费观看高清完整版 | 欧美精彩视频一区二区三区| 中文字幕国产一区| 亚洲综合色自拍一区| 日韩精品一级中文字幕精品视频免费观看 | 91免费国产在线| 精品视频一区 二区 三区| 欧美高清视频一二三区 | 国产精品一品视频| 不卡的电视剧免费网站有什么| 99精品视频中文字幕| 欧美三区在线视频| 欧美成人bangbros| 国产精品全国免费观看高清| 亚洲综合图片区| 久久国产剧场电影| 成人97人人超碰人人99| 欧美日韩亚洲综合在线| 久久综合九色综合欧美亚洲| 亚洲日本中文字幕区| 亚洲va国产天堂va久久en| 久久99久久99| 色综合天天天天做夜夜夜夜做| 欧美日本一区二区三区四区| 久久午夜羞羞影院免费观看| 日韩美女视频一区二区| 免费在线观看精品| 成人av免费网站| 日韩精品中午字幕| 一区二区三区四区乱视频| 国内精品写真在线观看| 欧洲国内综合视频| 国产精品嫩草影院av蜜臀| 日本视频免费一区| 色狠狠色噜噜噜综合网|