📄 main.lss
字号:
2d6: c3 e6 ldi r28, 0x63 ; 99
2d8: 88 ec ldi r24, 0xC8 ; 200
2da: 43 d2 rcall .+1158 ; 0x762 <halWait>
2dc: c1 50 subi r28, 0x01 ; 1
2de: c7 ff sbrs r28, 7
2e0: fb cf rjmp .-10 ; 0x2d8 <main+0x148>
2e2: 8b b7 in r24, 0x3b ; 59
2e4: 8f 77 andi r24, 0x7F ; 127
2e6: 8b bf out 0x3b, r24 ; 59
2e8: 08 94 sec
2ea: e1 1c adc r14, r1
2ec: f1 1c adc r15, r1
2ee: 01 1d adc r16, r1
2f0: 11 1d adc r17, r1
2f2: 88 ec ldi r24, 0xC8 ; 200
2f4: e8 16 cp r14, r24
2f6: f1 04 cpc r15, r1
2f8: 01 05 cpc r16, r1
2fa: 11 05 cpc r17, r1
2fc: b8 f2 brcs .-82 ; 0x2ac <main+0x11c>
2fe: 80 91 b5 04 lds r24, 0x04B5
302: 88 23 and r24, r24
304: e9 f0 breq .+58 ; 0x340 <main+0x1b0>
306: c3 e1 ldi r28, 0x13 ; 19
308: 88 ec ldi r24, 0xC8 ; 200
30a: 2b d2 rcall .+1110 ; 0x762 <halWait>
30c: c1 50 subi r28, 0x01 ; 1
30e: c7 ff sbrs r28, 7
310: fb cf rjmp .-10 ; 0x308 <main+0x178>
312: 68 e5 ldi r22, 0x58 ; 88
314: 8d e5 ldi r24, 0x5D ; 93
316: 92 e0 ldi r25, 0x02 ; 2
318: 2b d2 rcall .+1110 ; 0x770 <halRfSendPacket>
31a: 08 94 sec
31c: a1 1c adc r10, r1
31e: b1 1c adc r11, r1
320: c1 1c adc r12, r1
322: d1 1c adc r13, r1
324: c6 01 movw r24, r12
326: b5 01 movw r22, r10
328: d2 de rcall .-604 ; 0xce <intToAscii>
32a: 8f e1 ldi r24, 0x1F ; 31
32c: 91 e0 ldi r25, 0x01 ; 1
32e: 96 de rcall .-724 ; 0x5c <write>
330: 86 e0 ldi r24, 0x06 ; 6
332: 92 e0 ldi r25, 0x02 ; 2
334: 93 de rcall .-730 ; 0x5c <write>
336: 86 e2 ldi r24, 0x26 ; 38
338: 91 e0 ldi r25, 0x01 ; 1
33a: 9b de rcall .-714 ; 0x72 <writeln>
33c: 10 92 b5 04 sts 0x04B5, r1
340: 10 92 0a 05 sts 0x050A, r1
344: 10 92 b8 04 sts 0x04B8, r1
348: 74 cf rjmp .-280 ; 0x232 <main+0xa2>
0000034a <checkRfPacket>:
}
}// intToAscii
void wor_ctr(void)
{
unsigned int i;
DISABLE_PATTERN_INT(); // u mst call it for close syn int before send any command to rfmodule by spi
halSpiStrobe(CCxxx0_SRX);
// _WOR_3S_
#warning "WOR_3S defined!!!"
/* prepare force rf module to sleep mode start*/
halSpiWriteReg(CCxxx0_WORCTRL, 0x79); // WOR_RES=1 open rfmodule counter to force rfmodule enter into sleep mode
// enable counter
halSpiStrobe(CCxxx0_SFRX); //clear rec buffer
halSpiStrobe(CCxxx0_SIDLE); //
// power down RF transceiver
halSpiStrobe(CCxxx0_SPWD);
halSpiStrobe(CCxxx0_SWORRST);
//halSpiStrobe(CCxxx0_SIDLE );
/* prepare force rf module to sleep mode end*/
halSpiStrobe(CCxxx0_SWOR); /* prepare force rf module to sleep mode */
//ucWakeup = 0;
//DDRB = BM(MOSI) | BM(SCK) | BM(CSN);
ENABLE_PATTERN_INT();
ENABLE_GLOBAL_INT(); // Enable all interrupts
// rxMsgFlag = 0;
// wdt_disable();
sleep_enable(); //cpu to sleep
set_sleep_mode(SLEEP_MODE_PWR_DOWN); // Select powerdown sleep mode
sleep_mode(); // Sleep mode
/*
sleep & waiting for rfmodule calling me
*/
//wakeup
sleep_disable();
//DISABLE_PATTERN_INT();
//for (i=0;i<2000 && (!sleepflag);i++)
for (i=0;i<2000 && (!ucSleepFlag) ;i++)
halWait(200);
ucSleepFlag =0;
// wdt_reset();
}
void checkRfPacket(unsigned char length)
{
34a: 1f 93 push r17
34c: cf 93 push r28
34e: 18 2f mov r17, r24
unsigned char i;
switch (ucRF_RX.ucDir)
350: 80 91 61 01 lds r24, 0x0161
354: 99 27 eor r25, r25
356: 82 30 cpi r24, 0x02 ; 2
358: 91 05 cpc r25, r1
35a: 59 f0 breq .+22 ; 0x372 <checkRfPacket+0x28>
35c: 83 30 cpi r24, 0x03 ; 3
35e: 91 05 cpc r25, r1
360: bc f0 brlt .+46 ; 0x390 <checkRfPacket+0x46>
362: 83 30 cpi r24, 0x03 ; 3
364: 91 05 cpc r25, r1
366: 81 f0 breq .+32 ; 0x388 <checkRfPacket+0x3e>
368: 80 3a cpi r24, 0xA0 ; 160
36a: 91 05 cpc r25, r1
36c: 09 f4 brne .+2 ; 0x370 <checkRfPacket+0x26>
36e: 42 c0 rjmp .+132 ; 0x3f4 <checkRfPacket+0xaa>
370: 44 c0 rjmp .+136 ; 0x3fa <checkRfPacket+0xb0>
372: c3 e1 ldi r28, 0x13 ; 19
{
case 0x02: // wake up syn byes?
//send ack packet
// wait a while for slave echo back;
for (i=0;i<20;i++)
halWait(200);
374: 88 ec ldi r24, 0xC8 ; 200
376: f5 d1 rcall .+1002 ; 0x762 <halWait>
378: c1 50 subi r28, 0x01 ; 1
37a: c7 ff sbrs r28, 7
37c: fb cf rjmp .-10 ; 0x374 <checkRfPacket+0x2a>
halRfSendPacket(ucSynAck,sizeof(ucSynAck)); // 4 bytes Syn
37e: 64 e0 ldi r22, 0x04 ; 4
380: 80 e6 ldi r24, 0x60 ; 96
382: 90 e0 ldi r25, 0x00 ; 0
384: f5 d1 rcall .+1002 ; 0x770 <halRfSendPacket>
386: 33 c0 rjmp .+102 ; 0x3ee <checkRfPacket+0xa4>
ucAckFlag = 0;
//UART0_WAIT_AND_SEND('A');
break;
case 0x03: // wake up ack byte?
//set ackflag
ucAckFlag = 1;
388: 81 e0 ldi r24, 0x01 ; 1
38a: 80 93 b5 04 sts 0x04B5, r24
//UART0_WAIT_AND_SEND('B');
break;
38e: 35 c0 rjmp .+106 ; 0x3fa <checkRfPacket+0xb0>
case 0x00:
case 0x01:
// normal data packet; forward it to RS232
SET_LED_RDY();
390: 97 9a sbi 0x12, 7 ; 18
#if 1
intToAscii(++packetsReceived);
392: 80 91 5c 01 lds r24, 0x015C
396: 90 91 5d 01 lds r25, 0x015D
39a: a0 91 5e 01 lds r26, 0x015E
39e: b0 91 5f 01 lds r27, 0x015F
3a2: 01 96 adiw r24, 0x01 ; 1
3a4: a1 1d adc r26, r1
3a6: b1 1d adc r27, r1
3a8: 80 93 5c 01 sts 0x015C, r24
3ac: 90 93 5d 01 sts 0x015D, r25
3b0: a0 93 5e 01 sts 0x015E, r26
3b4: b0 93 5f 01 sts 0x015F, r27
3b8: bc 01 movw r22, r24
3ba: cd 01 movw r24, r26
3bc: 88 de rcall .-752 ; 0xce <intToAscii>
write("Received: ");
3be: 87 e3 ldi r24, 0x37 ; 55
3c0: 91 e0 ldi r25, 0x01 ; 1
3c2: 4c de rcall .-872 ; 0x5c <write>
write(asciiString);
3c4: 86 e0 ldi r24, 0x06 ; 6
3c6: 92 e0 ldi r25, 0x02 ; 2
3c8: 49 de rcall .-878 ; 0x5c <write>
write(" - ");
3ca: 82 e4 ldi r24, 0x42 ; 66
3cc: 91 e0 ldi r25, 0x01 ; 1
3ce: 46 de rcall .-884 ; 0x5c <write>
for(i =0; i<length; i++)
3d0: c0 e0 ldi r28, 0x00 ; 0
3d2: c1 17 cp r28, r17
3d4: 58 f4 brcc .+22 ; 0x3ec <checkRfPacket+0xa2>
{
UART0_WAIT_AND_SEND(ucRF_RX.val[i]);
3d6: 5d 9b sbis 0x0b, 5 ; 11
3d8: fe cf rjmp .-4 ; 0x3d6 <checkRfPacket+0x8c>
3da: 5d 98 cbi 0x0b, 5 ; 11
3dc: ec 2f mov r30, r28
3de: ff 27 eor r31, r31
3e0: e0 5a subi r30, 0xA0 ; 160
3e2: fe 4f sbci r31, 0xFE ; 254
3e4: 80 81 ld r24, Z
3e6: 8c b9 out 0x0c, r24 ; 12
3e8: cf 5f subi r28, 0xFF ; 255
3ea: f3 cf rjmp .-26 ; 0x3d2 <checkRfPacket+0x88>
}
//writeln(rxBuffer);
#endif
CLR_LED_RDY();
3ec: 97 98 cbi 0x12, 7 ; 18
ucAckFlag = 0;
3ee: 10 92 b5 04 sts 0x04B5, r1
break;
3f2: 03 c0 rjmp .+6 ; 0x3fa <checkRfPacket+0xb0>
// sleep command: |0x68|0xA0|0x16|
case 0xA0:
ucSleepFlag =1;
3f4: 81 e0 ldi r24, 0x01 ; 1
3f6: 80 93 b6 04 sts 0x04B6, r24
3fa: cf 91 pop r28
3fc: 1f 91 pop r17
3fe: 08 95 ret
00000400 <__vector_2>:
400: 1f 92 push r1
402: 0f 92 push r0
404: 0f b6 in r0, 0x3f ; 63
406: 0f 92 push r0
408: 11 24 eor r1, r1
40a: 2f 93 push r18
40c: 3f 93 push r19
40e: 4f 93 push r20
410: 5f 93 push r21
412: 6f 93 push r22
414: 7f 93 push r23
416: 8f 93 push r24
418: 9f 93 push r25
41a: af 93 push r26
41c: bf 93 push r27
41e: cf 93 push r28
420: df 93 push r29
422: ef 93 push r30
424: ff 93 push r31
426: 8b b7 in r24, 0x3b ; 59
428: 8f 77 andi r24, 0x7F ; 127
42a: 8b bf out 0x3b, r24 ; 59
42c: 83 99 sbic 0x10, 3 ; 16
42e: 08 c0 rjmp .+16 ; 0x440 <__vector_2+0x40>
430: c7 ee ldi r28, 0xE7 ; 231
432: d3 e0 ldi r29, 0x03 ; 3
434: 84 e6 ldi r24, 0x64 ; 100
436: 95 d1 rcall .+810 ; 0x762 <halWait>
438: 83 99 sbic 0x10, 3 ; 16
43a: 02 c0 rjmp .+4 ; 0x440 <__vector_2+0x40>
43c: 21 97 sbiw r28, 0x01 ; 1
43e: d1 f7 brne .-12 ; 0x434 <__vector_2+0x34>
440: 88 ec ldi r24, 0xC8 ; 200
442: 8f d1 rcall .+798 ; 0x762 <halWait>
444: 5d 9b sbis 0x0b, 5 ; 11
446: fe cf rjmp .-4 ; 0x444 <__vector_2+0x44>
448: 5d 98 cbi 0x0b, 5 ; 11
44a: 89 e5 ldi r24, 0x59 ; 89
44c: 8c b9 out 0x0c, r24 ; 12
44e: 60 e4 ldi r22, 0x40 ; 64
450: 81 e1 ldi r24, 0x11 ; 17
452: 92 e0 ldi r25, 0x02 ; 2
454: a7 d1 rcall .+846 ; 0x7a4 <halRfReceivePacket>
456: 88 23 and r24, r24
458: c1 f0 breq .+48 ; 0x48a <__stack+0x2b>
45a: c1 e0 ldi r28, 0x01 ; 1
45c: d0 e0 ldi r29, 0x00 ; 0
45e: 80 91 11 02 lds r24, 0x0211
462: 28 2f mov r18, r24
464: 33 27 eor r19, r19
466: 2c 0f add r18, r28
468: 3d 1f adc r19, r29
46a: c2 17 cp r28, r18
46c: d3 07 cpc r29, r19
46e: 50 f4 brcc .+20 ; 0x484 <__stack+0x25>
470: a0 e6 ldi r26, 0x60 ; 96
472: b1 e0 ldi r27, 0x01 ; 1
474: e2 e1 ldi r30, 0x12 ; 18
476: f2 e0 ldi r31, 0x02 ; 2
478: 81 91 ld r24, Z+
47a: 8d 93 st X+, r24
47c: 21 96 adiw r28, 0x01 ; 1
47e: c2 17 cp r28, r18
480: d3 07 cpc r29, r19
482: d0 f3 brcs .-12 ; 0x478 <__stack+0x19>
484: 80 91 11 02 lds r24, 0x0211
488: 60 df rcall .-320 ; 0x34a <checkRfPacket>
48a: 8a e3 ldi r24, 0x3A ; 58
48c: a0 d0 rcall .+320 ; 0x5ce <halSpiStrobe>
48e: 86 e3 ldi r24, 0x36 ; 54
490: 9e d0 rcall .+316 ; 0x5ce <halSpiStrobe>
492: c4 e0 ldi r28, 0x04 ; 4
494: d0 e0 ldi r29, 0x00 ; 0
496: 88 ec ldi r24, 0xC8 ; 200
498: 64 d1 rcall .+712 ; 0x762 <halWait>
49a: 21 97 sbiw r28, 0x01 ; 1
49c: d7 ff sbrs r29, 7
49e: fb cf rjmp .-10 ; 0x496 <__stack+0x37>
4a0: 84 e3 ldi r24, 0x34 ; 52
4a2: 95 d0 rcall .+298 ; 0x5ce <halSpiStrobe>
4a4: c4 e0 ldi r28, 0x04 ; 4
4a6: d0 e0 ldi r29, 0x00 ; 0
4a8: 88 ec ldi r24, 0xC8 ; 200
4aa: 5b d1 rcall .+694 ; 0x762 <halWait>
4ac: 21 97 sbiw r28, 0x01 ; 1
4ae: d7 ff sbrs r29, 7
4b0: fb cf rjmp .-10 ; 0x4a8 <__stack+0x49>
4b2: ff 91 pop r31
4b4: ef 91 pop r30
4b6: df 91 pop r29
4b8: cf 91 pop r28
4ba: bf 91 pop r27
4bc: af 91 pop r26
4be: 9f 91 pop r25
4c0: 8f 91 pop r24
4c2: 7f 91 pop r23
4c4: 6f 91 pop r22
4c6: 5f 91 pop r21
4c8: 4f 91 pop r20
4ca: 3f 91 pop r19
4cc: 2f 91 pop r18
4ce: 0f 90 pop r0
4d0: 0f be out 0x3f, r0 ; 63
4d2: 0f 90 pop r0
4d4: 1f 90 pop r1
4d6: 18 95 reti
000004d8 <wor_ctr>:
4d8: cf 93 push r28
4da: df 93 push r29
4dc: 8b b7 in r24, 0x3b ; 59
4de: 8f 77 andi r24, 0x7F ; 127
4e0: 8b bf out 0x3b, r24 ; 59
4e2: 84 e3 ldi r24, 0x34 ; 52
4e4: 74 d0 rcall .+232 ; 0x5ce <halSpiStrobe>
4e6: 69 e7 ldi r22, 0x79 ; 121
4e8: 80 e2 ldi r24, 0x20 ; 32
4ea: 7c d0 rcall .+248 ; 0x5e4 <halSpiWriteReg>
4ec: 8a e3 ldi r24, 0x3A ; 58
4ee: 6f d0 rcall .+222 ; 0x5ce <halSpiStrobe>
4f0: 86 e3 ldi r24, 0x36 ; 54
4f2: 6d d0 rcall .+218 ; 0x5ce <halSpiStrobe>
4f4: 89 e3 ldi r24, 0x39 ; 57
4f6: 6b d0 rcall .+214 ; 0x5ce <halSpiStrobe>
4f8: 8c e3 ldi r24, 0x3C ; 60
4fa: 69 d0 rcall .+210 ; 0x5ce <halSpiStrobe>
4fc: 88 e3 ldi r24, 0x38 ; 56
4fe: 67 d0 rcall .+206 ; 0x5ce <halSpiStrobe>
500: 80 e8 ldi r24, 0x80 ; 128
502: 8a bf out 0x3a, r24 ; 58
504: 8b b7 in r24, 0x3b ; 59
506: 80 68 ori r24, 0x80 ; 128
508: 8b bf out 0x3b, r24 ; 59
50a: 78 94 sei
50c: 85 b7 in r24, 0x35 ; 53
50e: 80 68 ori r24, 0x80 ; 128
510: 85 bf out 0x35, r24 ; 53
512: 85 b7 in r24, 0x35 ; 53
514: 8f 78 andi r24, 0x8F ; 143
516: 80 62 ori r24, 0x20 ; 32
518: 85 bf out 0x35, r24 ; 53
51a: 85 b7 in r24, 0x35 ; 53
51c: 80 68 ori r24, 0x80 ; 128
51e: 85 bf out 0x35, r24 ; 53
520: 88 95 sleep
522: 85 b7 in r24, 0x35 ; 53
524: 8f 77 andi r24, 0x7F ; 127
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -