📄 app.lst
字号:
1 .file "app.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
73 .global OS_GROUP
74 .data
77 OS_GROUP:
78 0000 01 .byte 1
79 .text
81 .global LLCStdControlInit
83 LLCStdControlInit:
1:app.c **** /*
2:app.c **** ****************************************************************************
3:app.c **** * 宁波市科技园区创业大厦六楼
4:app.c **** * 宁波中科集成电路设计中心 版权所有 Copyright 2005
5:app.c **** *
6:app.c **** *文件名: llc.c
7:app.c **** *程序员:
8:app.c **** *主要内容:定时采集数据,并通过CC1000发送
9:app.c **** *完成日期:2005.3.28
10:app.c **** ****************************************************************************
11:app.c **** */
12:app.c ****
13:app.c **** #include "os.h"
14:app.c **** #include "sensor.h"
15:app.c **** #include "message.h"
16:app.c **** #include "led.h"
17:app.c **** #include "macClock.h"
18:app.c **** #include "mac.h"
19:app.c ****
20:app.c **** extern uint8_t OS_LOCAL_ADDRESS;
21:app.c **** extern uint8_t OS_BCAST_ADDR;
22:app.c **** uint8_t OS_GROUP = OS_DEFAULT_GROUP;
23:app.c ****
24:app.c **** uint8_t LLCpacketReadingNumber;
25:app.c **** uint8_t LLCPacketNumber;
26:app.c **** OSMACMsg LLCmsg[2];
27:app.c **** uint8_t LLCcurrentMsg;
28:app.c ****
29:app.c **** /*************************************************************************
30:app.c **** *功能描述:初始化
31:app.c **** *参数说明:无
32:app.c **** *返回值: 无
33:app.c **** **************************************************************************/
34:app.c **** result_t LLCStdControlInit(void)
35:app.c **** {
85 .LM1:
86 /* prologue: frame size=0 */
87 /* prologue end (size=0) */
36:app.c **** LedInit();
89 .LM2:
90 0000 0E94 0000 call LedInit
37:app.c **** LedRedOff();
92 .LM3:
93 0004 0E94 0000 call LedRedOff
38:app.c **** LedGreenOff();
95 .LM4:
96 0008 0E94 0000 call LedGreenOff
39:app.c **** LedYellowOff();
98 .LM5:
99 000c 0E94 0000 call LedYellowOff
40:app.c ****
41:app.c **** SensorPhoOStdControlInit();
101 .LM6:
102 0010 0E94 0000 call SensorPhoOStdControlInit
42:app.c ****
43:app.c **** MACInit();
104 .LM7:
105 0014 0E94 0000 call MACInit
106 .LBB2:
44:app.c ****
45:app.c **** { uint8_t atomicState = AtomicStart();
108 .LM8:
109 0018 0E94 0000 call AtomicStart
46:app.c **** {
47:app.c **** LLCcurrentMsg = 0;
111 .LM9:
112 001c 1092 0000 sts LLCcurrentMsg,__zero_reg__
48:app.c **** LLCpacketReadingNumber = 0;
114 .LM10:
115 0020 1092 0000 sts LLCpacketReadingNumber,__zero_reg__
49:app.c **** LLCPacketNumber = 0;
117 .LM11:
118 0024 1092 0000 sts LLCPacketNumber,__zero_reg__
50:app.c **** }
51:app.c **** AtomicEnd(atomicState); }
120 .LM12:
121 0028 0E94 0000 call AtomicEnd
122 .LBE2:
52:app.c ****
53:app.c **** return SUCCESS;
54:app.c **** }
124 .LM13:
125 002c 81E0 ldi r24,lo8(1)
126 002e 90E0 ldi r25,hi8(1)
127 /* epilogue: frame size=0 */
128 0030 0895 ret
129 /* epilogue end (size=1) */
130 /* function LLCStdControlInit size 25 (24) */
134 .global LLCTimerStart
136 LLCTimerStart:
55:app.c ****
56:app.c **** /*************************************************************************
57:app.c **** *功能描述:设置1号定时器的定时类型和间隔,并启动
58:app.c **** *参数说明:定时器类型,时间间隔(ms)
59:app.c **** *返回值: 执行结果
60:app.c **** **************************************************************************/
61:app.c **** result_t LLCTimerStart(uint8_t interval)
62:app.c **** {
138 .LM14:
139 /* prologue: frame size=0 */
140 /* prologue end (size=0) */
63:app.c **** ClockSet(interval);
142 .LM15:
143 0032 0E94 0000 call ClockSet
64:app.c **** return SUCCESS;
65:app.c **** }
145 .LM16:
146 0036 81E0 ldi r24,lo8(1)
147 0038 90E0 ldi r25,hi8(1)
148 /* epilogue: frame size=0 */
149 003a 0895 ret
150 /* epilogue end (size=1) */
151 /* function LLCTimerStart size 5 (4) */
154 .global LLCStdControlStart
156 LLCStdControlStart:
66:app.c ****
67:app.c **** /*************************************************************************
68:app.c **** *功能描述:启动底层
69:app.c **** *参数说明:
70:app.c **** *返回值:
71:app.c **** **************************************************************************/
72:app.c **** result_t LLCStdControlStart(void)
73:app.c **** {
158 .LM17:
159 /* prologue: frame size=0 */
160 /* prologue end (size=0) */
74:app.c **** SensorPhoOStdControlStart();
162 .LM18:
163 003c 0E94 0000 call SensorPhoOStdControlStart
75:app.c **** LLCTimerStart(125);
165 .LM19:
166 0040 8DE7 ldi r24,lo8(125)
167 0042 0E94 0000 call LLCTimerStart
76:app.c ****
77:app.c **** return SUCCESS;
78:app.c **** }
169 .LM20:
170 0046 81E0 ldi r24,lo8(1)
171 0048 90E0 ldi r25,hi8(1)
172 /* epilogue: frame size=0 */
173 004a 0895 ret
174 /* epilogue end (size=1) */
175 /* function LLCStdControlStart size 8 (7) */
178 .global LLCADCGetData
180 LLCADCGetData:
79:app.c ****
80:app.c **** result_t LLCADCGetData(void)
81:app.c **** {
182 .LM21:
183 /* prologue: frame size=0 */
184 /* prologue end (size=0) */
82:app.c **** unsigned char result;
83:app.c **** result = SensorExternalPhotoADCGetData();
186 .LM22:
187 004c 0E94 0000 call SensorExternalPhotoADCGetData
84:app.c **** return result;
85:app.c **** }
189 .LM23:
190 0050 9927 clr r25
191 /* epilogue: frame size=0 */
192 0052 0895 ret
193 /* epilogue end (size=1) */
194 /* function LLCADCGetData size 4 (3) */
197 .global LLCTimerFired
199 LLCTimerFired:
86:app.c ****
87:app.c **** /*************************************************************************
88:app.c **** *功能描述:由设定的定时器时钟到达触发,调用采集函数
89:app.c **** *参数说明:无
90:app.c **** *返回值:
91:app.c **** **************************************************************************/
92:app.c **** result_t LLCTimerFired(void)
93:app.c **** {
201 .LM24:
202 /* prologue: frame size=0 */
203 /* prologue end (size=0) */
94:app.c **** return LLCADCGetData();
205 .LM25:
206 0054 0E94 0000 call LLCADCGetData
95:app.c **** }
208 .LM26:
209 0058 9927 clr r25
210 /* epilogue: frame size=0 */
211 005a 0895 ret
212 /* epilogue end (size=1) */
213 /* function LLCTimerFired size 4 (3) */
219 .global LLCDataMsgSend
221 LLCDataMsgSend:
96:app.c ****
97:app.c **** /*************************************************************************
98:app.c **** *功能描述:打包数据,并调用MAC进行广播发送
99:app.c **** *参数说明:目的节点号,数据长度,数据包地址
100:app.c **** *返回值:
101:app.c **** **************************************************************************/
102:app.c **** result_t LLCDataMsgSend(uint8_t addr, uint8_t length, OSMACMsgPtr data)
103:app.c **** {
223 .LM27:
224 /* prologue: frame size=0 */
225 /* prologue end (size=0) */
226 005c 982F mov r25,r24
104:app.c **** unsigned char result;
105:app.c ****
106:app.c **** if (length > APP_PKT_LEN)
228 .LM28:
229 005e 6631 cpi r22,lo8(22)
230 0060 18F0 brlo .L7
107:app.c **** {
108:app.c **** return FALSE;
232 .LM29:
233 0062 80E0 ldi r24,lo8(0)
234 0064 90E0 ldi r25,hi8(0)
235 0066 0895 ret
236 .L7:
109:app.c **** }
110:app.c ****
111:app.c **** if (addr == OS_BCAST_ADDR)
238 .LM30:
239 0068 8091 0000 lds r24,OS_BCAST_ADDR
240 006c 9817 cp r25,r24
241 006e 21F4 brne .L8
112:app.c **** {
113:app.c **** result = MACBroadcastMsg(data, length);
243 .LM31:
244 0070 CA01 movw r24,r20
245 0072 0E94 0000 call MACBroadcastMsg
246 0076 01C0 rjmp .L9
247 .L8:
114:app.c **** }
115:app.c **** else
116:app.c **** result = 1;
249 .LM32:
250 0078 81E0 ldi r24,lo8(1)
251 .L9:
117:app.c **** return result;
253 .LM33:
254 007a 9927 clr r25
118:app.c **** }
256 .LM34:
257 007c 0895 ret
258 /* epilogue: frame size=0 */
259 007e 0895 ret
260 /* epilogue end (size=1) */
261 /* function LLCDataMsgSend size 18 (17) */
265 .global LLCdataTask
267 LLCdataTask:
119:app.c ****
120:app.c **** /*************************************************************************
121:app.c **** *功能描述:发送任务处理
122:app.c **** *参数说明:
123:app.c **** *返回值:
124:app.c **** **************************************************************************/
125:app.c **** void LLCdataTask(void)
126:app.c **** {
269 .LM35:
270 /* prologue: frame size=0 */
271 0080 1F93 push r17
272 /* prologue end (size=1) */
273 .LBB3:
127:app.c **** SensorMsg *pack;
128:app.c ****
129:app.c **** { uint8_t atomicState = AtomicStart();
275 .LM36:
276 0082 0E94 0000 call AtomicStart
130:app.c **** {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -