📄 rf_blink_led.lst
字号:
132:rf_blink_led.c **** ADC_ENABLE();
190 .LM13:
191 0074 379A sbi 38-0x20,7
192 .L11:
133:rf_blink_led.c ****
134:rf_blink_led.c **** // Wait for the user to select node address, and initialize for basic RF operation
135:rf_blink_led.c **** while (TRUE) {
136:rf_blink_led.c **** if (JOYSTICK_CENTER_PRESSED()) {
194 .LM14:
195 0076 0A9B sbis 33-0x20,2
196 0078 0CC0 rjmp .L13
137:rf_blink_led.c **** basicRfInit(&rfRxInfo, 26, 0x2420, 0x1234);
198 .LM15:
199 007a 24E3 ldi r18,lo8(4660)
200 007c 32E1 ldi r19,hi8(4660)
201 007e 40E2 ldi r20,lo8(9248)
202 0080 54E2 ldi r21,hi8(9248)
203 0082 6AE1 ldi r22,lo8(26)
204 0084 80E0 ldi r24,lo8(rfRxInfo)
205 0086 90E0 ldi r25,hi8(rfRxInfo)
206 0088 0E94 0000 call basicRfInit
138:rf_blink_led.c **** rfTxInfo.destAddr = 0x5678;
208 .LM16:
209 008c 88E7 ldi r24,lo8(22136)
210 008e 96E5 ldi r25,hi8(22136)
211 0090 13C0 rjmp .L37
212 .L13:
139:rf_blink_led.c **** break;
140:rf_blink_led.c **** } else if (JOYSTICK_UP_PRESSED() || JOYSTICK_DOWN_PRESSED() || JOYSTICK_LEFT_PRESSED() || JOYSTIC
214 .LM17:
215 0092 0899 sbic 33-0x20,0
216 0094 06C0 rjmp .L16
217 0096 0299 sbic 32-0x20,2
218 0098 04C0 rjmp .L16
219 009a 0199 sbic 32-0x20,1
220 009c 02C0 rjmp .L16
221 009e 099B sbis 33-0x20,1
222 00a0 EACF rjmp .L11
223 .L16:
141:rf_blink_led.c **** basicRfInit(&rfRxInfo, 26, 0x2420, 0x5678);
225 .LM18:
226 00a2 28E7 ldi r18,lo8(22136)
227 00a4 36E5 ldi r19,hi8(22136)
228 00a6 40E2 ldi r20,lo8(9248)
229 00a8 54E2 ldi r21,hi8(9248)
230 00aa 6AE1 ldi r22,lo8(26)
231 00ac 80E0 ldi r24,lo8(rfRxInfo)
232 00ae 90E0 ldi r25,hi8(rfRxInfo)
233 00b0 0E94 0000 call basicRfInit
142:rf_blink_led.c **** rfTxInfo.destAddr = 0x1234;
235 .LM19:
236 00b4 84E3 ldi r24,lo8(4660)
237 00b6 92E1 ldi r25,hi8(4660)
238 .L37:
239 00b8 9093 0000 sts (rfTxInfo+2)+1,r25
240 00bc 8093 0000 sts rfTxInfo+2,r24
143:rf_blink_led.c **** break;
144:rf_blink_led.c **** }
145:rf_blink_led.c **** }
146:rf_blink_led.c ****
147:rf_blink_led.c **** // Initalize common protocol parameters
148:rf_blink_led.c **** rfTxInfo.length = 10;
242 .LM20:
243 00c0 8AE0 ldi r24,lo8(10)
244 00c2 8093 0000 sts rfTxInfo+4,r24
149:rf_blink_led.c **** rfTxInfo.ackRequest = TRUE;
246 .LM21:
247 00c6 81E0 ldi r24,lo8(1)
248 00c8 8093 0000 sts rfTxInfo+7,r24
150:rf_blink_led.c **** rfTxInfo.pPayload = pTxBuffer;
250 .LM22:
251 00cc 20E0 ldi r18,lo8(pTxBuffer)
252 00ce 30E0 ldi r19,hi8(pTxBuffer)
253 00d0 3093 0000 sts (rfTxInfo+5)+1,r19
254 00d4 2093 0000 sts rfTxInfo+5,r18
151:rf_blink_led.c **** rfRxInfo.pPayload = pRxBuffer;
256 .LM23:
257 00d8 80E0 ldi r24,lo8(pRxBuffer)
258 00da 90E0 ldi r25,hi8(pRxBuffer)
259 00dc 9093 0000 sts (rfRxInfo+6)+1,r25
260 00e0 8093 0000 sts rfRxInfo+6,r24
152:rf_blink_led.c ****
153:rf_blink_led.c **** for (n = 0; n < 10; n++) {
262 .LM24:
263 00e4 80E0 ldi r24,lo8(0)
264 00e6 F901 movw r30,r18
265 .L20:
154:rf_blink_led.c **** pTxBuffer[n] = n;
267 .LM25:
268 00e8 8193 st Z+,r24
270 .LM26:
271 00ea 8F5F subi r24,lo8(-(1))
272 00ec 8A30 cpi r24,lo8(10)
273 00ee E0F3 brlo .L20
155:rf_blink_led.c **** }
156:rf_blink_led.c ****
157:rf_blink_led.c **** // Turn on RX mode
158:rf_blink_led.c **** basicRfReceiveOn();
275 .LM27:
276 00f0 0E94 0000 call basicRfReceiveOn
277 .L38:
159:rf_blink_led.c ****
160:rf_blink_led.c **** // The main loop:
161:rf_blink_led.c **** while (TRUE) {
162:rf_blink_led.c ****
163:rf_blink_led.c **** // Sample the pot meter value
164:rf_blink_led.c **** ADC_SAMPLE_SINGLE();
279 .LM28:
280 00f4 369A sbi 38-0x20,6
281 .L24:
282 00f6 349B sbis 38-0x20,4
283 00f8 FECF rjmp .L24
165:rf_blink_led.c **** ADC_GET_SAMPLE_8(ledDutyCycle);
285 .LM29:
286 00fa 84B1 in r24,36-0x20
287 00fc 8695 lsr r24
288 00fe 8695 lsr r24
289 0100 482F mov r20,r24
290 0102 5527 clr r21
291 0104 85B1 in r24,37-0x20
292 0106 9927 clr r25
293 0108 87FD sbrc r24,7
294 010a 9095 com r25
295 010c 26E0 ldi r18,6
296 010e 880F 1: lsl r24
297 0110 991F rol r25
298 0112 2A95 dec r18
299 0114 E1F7 brne 1b
300 0116 482B or r20,r24
301 0118 592B or r21,r25
166:rf_blink_led.c ****
167:rf_blink_led.c **** // If the dimmer value has changed by more than 1, then transmit the new value automatically
168:rf_blink_led.c **** // Transmit also when the S2 button is pressed
169:rf_blink_led.c **** dimmerDifference = (ledDutyCycle & 0xFF) - pTxBuffer[0];
303 .LM30:
304 011a CA01 movw r24,r20
305 011c 9070 andi r25,hi8(255)
306 011e 2091 0000 lds r18,pTxBuffer
307 0122 821B sub r24,r18
308 0124 9109 sbc r25,__zero_reg__
170:rf_blink_led.c **** if ((ABS(dimmerDifference) > 2) || (JOYSTICK_CENTER_PRESSED())) {
310 .LM31:
311 0126 0397 sbiw r24,3
312 0128 10F4 brsh .L29
313 012a 0A9B sbis 33-0x20,2
314 012c E3CF rjmp .L38
315 .L29:
171:rf_blink_led.c **** pTxBuffer[0] = ledDutyCycle;
317 .LM32:
318 012e 4093 0000 sts pTxBuffer,r20
172:rf_blink_led.c **** if (basicRfSendPacket(&rfTxInfo)) {
320 .LM33:
321 0132 80E0 ldi r24,lo8(rfTxInfo)
322 0134 90E0 ldi r25,hi8(rfTxInfo)
323 0136 0E94 0000 call basicRfSendPacket
324 013a 8823 tst r24
325 013c 39F0 breq .L30
173:rf_blink_led.c ****
174:rf_blink_led.c **** // OK -> Blink the yellow LED
175:rf_blink_led.c **** SET_YLED();
327 .LM34:
328 013e 1C9A sbi 35-0x20,4
176:rf_blink_led.c **** halWait(50000);
330 .LM35:
331 0140 80E5 ldi r24,lo8(-15536)
332 0142 93EC ldi r25,hi8(-15536)
333 0144 0E94 0000 call halWait
177:rf_blink_led.c **** CLR_YLED();
335 .LM36:
336 0148 1C98 cbi 35-0x20,4
337 014a D4CF rjmp .L38
338 .L30:
178:rf_blink_led.c **** } else {
179:rf_blink_led.c ****
180:rf_blink_led.c **** // No acknowledgment received -> Blink the red LED
181:rf_blink_led.c **** SET_RLED();
340 .LM37:
341 014c 1B9A sbi 35-0x20,3
182:rf_blink_led.c **** halWait(50000);
343 .LM38:
344 014e 80E5 ldi r24,lo8(-15536)
345 0150 93EC ldi r25,hi8(-15536)
346 0152 0E94 0000 call halWait
183:rf_blink_led.c **** CLR_RLED();
348 .LM39:
349 0156 1B98 cbi 35-0x20,3
350 0158 CDCF rjmp .L38
351 /* epilogue: frame size=0 */
352 /* epilogue: noreturn */
353 /* epilogue end (size=0) */
354 /* function main size 153 (149) */
358 .Lscope1:
360 .comm rfRxInfo,10,1
361 .comm rfTxInfo,8,1
362 .comm pTxBuffer,116,1
363 .comm pRxBuffer,116,1
368 .text
370 Letext:
371 /* File "rf_blink_led.c": code 175 = 0x00af ( 162), prologues 8, epilogues 5 */
DEFINED SYMBOLS
*ABS*:00000000 rf_blink_led.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\zx\LOCALS~1\Temp/cc6daaaa.s:93 .text:00000000 basicRfReceivePacket
C:\DOCUME~1\zx\LOCALS~1\Temp/cc6daaaa.s:138 .text:0000002c main
*COM*:0000000a rfRxInfo
*COM*:00000008 rfTxInfo
*COM*:00000074 pTxBuffer
*COM*:00000074 pRxBuffer
C:\DOCUME~1\zx\LOCALS~1\Temp/cc6daaaa.s:370 .text:0000015a Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
halWait
__stack
basicRfInit
basicRfReceiveOn
basicRfSendPacket
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -