⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.lst

📁 realtime RTOS NEW
💻 LST
字号:
C51 COMPILER V6.12  TIMER                                                                  12/07/2004 17:58:47 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN .\timer.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\..\kernel\timer.c INCDIR(d:\rs1.12b\) DEBUG OBJECTEXTEND PRINT(.\time
                    -r.lst) OBJECT(.\timer.obj) 

stmt level    source

   1          /*
   2          ===============================================================================
   3          | Copyright (C) 2004 RuanHaiShen, All rights reserved.
   4          | SUMMARY: 
   5          |   Timer implementation.
   6          |
   7          | DESCRIPTION:
   8          |   See http://www.01s.org for documentation, latest information, license 
   9          |   and contact details.
  10          |   email:ruanhaishen@01s.org
  11          =============================================================================*/
  12          /*===========================================================================*/
  13          #include "arch/arch.h"
  14          #include "inc/queue.h"
  15          #include "inc/kernel.h"
  16          #include "inc/memory.h"
  17          #include "inc/ipc.h"
  18          #include "inc/kapi.h"
  19          
  20          
  21          #if CFG_TICK_COUNT_EN > 0
              static volatile u32 _ticks = 0;
              
              u32 tick_get(void)
              {
                  register u32 val;
              
                  CRITICAL_ENTER;
                  val = _ticks;
                  CRITICAL_EXIT;
                  return val;
              }
              #endif
  34          
  35          u8 __do_tick(void)
  36          {
  37   1          register u8 cprio;
  38   1          register u8 flag;
  39   1      
  40   1          hook_do_tick();
  41   1      
  42   1          for (flag = 0,cprio = 0; cprio < TASK_IDLE_PRIO; cprio++) {
  43   2              CRITICAL_ENTER;
  44   2              if (_tasks[cprio].delay != 0 &&
  45   2                      !(_tasks[cprio].state & STATE_SUSPEND)) {
  46   3                  if (--_tasks[cprio].delay == 0) {
  47   4                      __ready_que_add(cprio);
  48   4                      flag = 1;
  49   4                  }
  50   3              }
  51   2              CRITICAL_EXIT;
  52   2          }
  53   1      
  54   1      #if CFG_TICK_COUNT_EN > 0
C51 COMPILER V6.12  TIMER                                                                  12/07/2004 17:58:47 PAGE 2   

                  CRITICAL_ENTER;
                  _ticks++;
                  CRITICAL_EXIT;
              #endif
  59   1      
  60   1          return flag;
  61   1      }
  62          
  63          
  64          /*===========================================================================*/
  65          
  66          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     74    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   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 + -