📄 timer.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 + -