📄 main.lss
字号:
ENABLE_PATTERN_INT();
be: 80 e8 ldi r24, 0x80 ; 128
c0: 8a bf out 0x3a, r24 ; 58
c2: 8b b7 in r24, 0x3b ; 59
c4: 80 68 ori r24, 0x80 ; 128
c6: 8b bf out 0x3b, r24 ; 59
// ENABLE_UART0_RX_INT(); // Enable Receive interrupt
// ENABLE_GLOBAL_INT(); // Enable all interrupts
SET_LED_RDY();
c8: 97 9a sbi 0x12, 7 ; 18
ca: cf 91 pop r28
cc: 08 95 ret
000000ce <intToAscii>:
}
// monitor INT1
union
{
unsigned char val[SCI_FIFO_SIZE];
struct
{
unsigned char header;
unsigned char ucDir;
unsigned char ucNum;
unsigned long ulSiteAddr;
unsigned long ulRouter[3];
unsigned char ucCmd;
unsigned char *ucData;
};
}ucRF_RX;
//unsigned char ucRF_Buff[64];
SIGNAL(SIG_INTERRUPT1)
{
// unsigned char ucTmpBuff[30];
// static unsigned char tmpLen,i;
unsigned char *pRxBuffer;
unsigned char packetLength, status[2];
unsigned int i;
DISABLE_PATTERN_INT(); // disable Pattern Interrupt
// ENABLE_GLOBAL_INT(); // Enable all interrupts
// wdt_reset();
// waiting packet completed!; wait maxim about 50mS; in case hang
i = 1000L;
while((!GDO0_PIN) && (--i))halWait(100);
#ifdef _DEBUG_
write("new\0x0d\0x0a");
#endif
halWait(200);
UART0_WAIT_AND_SEND('Y');
//ucRF_Buff[0]=0;
//packetLength = halSpiReadReg(CCxxx0_RXFIFO);
//if(packetLength < 64)
{
if (halRfReceivePacket(&rxBuffer, 64)) {
for(i = 1;i< rxBuffer[0]+1;i++)
{
ucRF_RX.val[i-1] = rxBuffer[i];
//UART0_WAIT_AND_SEND(rxBuffer[i]);
}
checkRfPacket(rxBuffer[0]); //do my thing
//writeln(ucRF_Buff);
}
}
halSpiStrobe(CCxxx0_SFRX);
halSpiStrobe(CCxxx0_SIDLE );
for (i=0;i<5;i++)
halWait(200);
ENABLE_RX;
for (i=0;i<5;i++)
halWait(200);
//03-Dec
#ifdef _DEV_RX_
//wdt_reset();
CLEAR_UART0_RX_INT();
//rxIntFlag = 0;
CLEAR_PATTERN_INT();
ENABLE_PATTERN_INT();
#endif
}
//-------------------------------------------------------------------------------------------------------
// void intToAscii(UINT32 value)
//
// DESCRIPTION:
// Takes a 32 bits interger as input and converts it to ascii. Puts the result in the global
// variable asciiString[]
//
// ARGUMENTS:
// UINT32 value
// The value to be converted
//-------------------------------------------------------------------------------------------------------
void intToAscii(UINT32 value) {
ce: 7f 92 push r7
d0: 8f 92 push r8
d2: 9f 92 push r9
d4: af 92 push r10
d6: bf 92 push r11
d8: cf 92 push r12
da: df 92 push r13
dc: ef 92 push r14
de: ff 92 push r15
e0: 0f 93 push r16
e2: 1f 93 push r17
e4: cf 93 push r28
e6: df 93 push r29
e8: 7b 01 movw r14, r22
ea: 8c 01 movw r16, r24
UINT8 i;
UINT8 j = 0;
ec: 99 24 eor r9, r9
UINT8 digit_start = 0;
ee: 79 2c mov r7, r9
UINT16 digit = 0;
UINT32 denom = 1000000000;
f0: a1 2c mov r10, r1
f2: 2a ec ldi r18, 0xCA ; 202
f4: b2 2e mov r11, r18
f6: 2a e9 ldi r18, 0x9A ; 154
f8: c2 2e mov r12, r18
fa: 2b e3 ldi r18, 0x3B ; 59
fc: d2 2e mov r13, r18
if (value == 0) {
fe: 61 15 cp r22, r1
100: 71 05 cpc r23, r1
102: 81 05 cpc r24, r1
104: 91 05 cpc r25, r1
106: 31 f4 brne .+12 ; 0x114 <intToAscii+0x46>
asciiString[0] = '0';
108: 80 e3 ldi r24, 0x30 ; 48
10a: 80 93 06 02 sts 0x0206, r24
asciiString[1] = NULL;
10e: 90 92 07 02 sts 0x0207, r9
112: 30 c0 rjmp .+96 ; 0x174 <intToAscii+0xa6>
} else {
for(i = 10; i > 0; i--) {
114: 9a e0 ldi r25, 0x0A ; 10
116: 89 2e mov r8, r25
digit = value / denom;
118: c8 01 movw r24, r16
11a: b7 01 movw r22, r14
11c: a6 01 movw r20, r12
11e: 95 01 movw r18, r10
120: de d4 rcall .+2492 ; 0xade <__udivmodsi4>
122: e9 01 movw r28, r18
if((digit_start == 1) || (digit != 0)) {
124: 81 e0 ldi r24, 0x01 ; 1
126: 78 16 cp r7, r24
128: 11 f0 breq .+4 ; 0x12e <intToAscii+0x60>
12a: 23 2b or r18, r19
12c: 99 f0 breq .+38 ; 0x154 <intToAscii+0x86>
digit_start = 1;
12e: 81 e0 ldi r24, 0x01 ; 1
130: 78 2e mov r7, r24
value %= denom;
132: c8 01 movw r24, r16
134: b7 01 movw r22, r14
136: a6 01 movw r20, r12
138: 95 01 movw r18, r10
13a: d1 d4 rcall .+2466 ; 0xade <__udivmodsi4>
13c: dc 01 movw r26, r24
13e: cb 01 movw r24, r22
140: 7c 01 movw r14, r24
142: 8d 01 movw r16, r26
asciiString[j++] = (digit + '0');
144: e9 2d mov r30, r9
146: ff 27 eor r31, r31
148: ea 5f subi r30, 0xFA ; 250
14a: fd 4f sbci r31, 0xFD ; 253
14c: 8c 2f mov r24, r28
14e: 80 5d subi r24, 0xD0 ; 208
150: 80 83 st Z, r24
152: 97 0c add r9, r7
}
denom /= 10;
154: c6 01 movw r24, r12
156: b5 01 movw r22, r10
158: 2a e0 ldi r18, 0x0A ; 10
15a: 30 e0 ldi r19, 0x00 ; 0
15c: 40 e0 ldi r20, 0x00 ; 0
15e: 50 e0 ldi r21, 0x00 ; 0
160: be d4 rcall .+2428 ; 0xade <__udivmodsi4>
162: 59 01 movw r10, r18
164: 6a 01 movw r12, r20
166: 8a 94 dec r8
168: b9 f6 brne .-82 ; 0x118 <intToAscii+0x4a>
}
asciiString[j++] = NULL;
16a: e9 2d mov r30, r9
16c: ff 27 eor r31, r31
16e: ea 5f subi r30, 0xFA ; 250
170: fd 4f sbci r31, 0xFD ; 253
172: 80 82 st Z, r8
174: df 91 pop r29
176: cf 91 pop r28
178: 1f 91 pop r17
17a: 0f 91 pop r16
17c: ff 90 pop r15
17e: ef 90 pop r14
180: df 90 pop r13
182: cf 90 pop r12
184: bf 90 pop r11
186: af 90 pop r10
188: 9f 90 pop r9
18a: 8f 90 pop r8
18c: 7f 90 pop r7
18e: 08 95 ret
00000190 <main>:
190: cf e5 ldi r28, 0x5F ; 95
192: d4 e0 ldi r29, 0x04 ; 4
194: de bf out 0x3e, r29 ; 62
196: cd bf out 0x3d, r28 ; 61
198: aa 24 eor r10, r10
19a: bb 24 eor r11, r11
19c: 65 01 movw r12, r10
19e: 43 e6 ldi r20, 0x63 ; 99
1a0: e4 2e mov r14, r20
1a2: f1 2c mov r15, r1
1a4: 01 2d mov r16, r1
1a6: 11 2d mov r17, r1
1a8: 88 ec ldi r24, 0xC8 ; 200
1aa: db d2 rcall .+1462 ; 0x762 <halWait>
1ac: 08 94 sec
1ae: e1 08 sbc r14, r1
1b0: f1 08 sbc r15, r1
1b2: 01 09 sbc r16, r1
1b4: 11 09 sbc r17, r1
1b6: 17 ff sbrs r17, 7
1b8: f7 cf rjmp .-18 ; 0x1a8 <main+0x18>
1ba: 60 df rcall .-320 ; 0x7c <sysInit>
1bc: 10 92 b8 04 sts 0x04B8, r1
1c0: 10 92 b7 04 sts 0x04B7, r1
1c4: 10 92 b9 04 sts 0x04B9, r1
1c8: 10 92 b5 04 sts 0x04B5, r1
1cc: 10 92 b6 04 sts 0x04B6, r1
1d0: 88 e6 ldi r24, 0x68 ; 104
1d2: 90 e0 ldi r25, 0x00 ; 0
1d4: 4e df rcall .-356 ; 0x72 <writeln>
1d6: 87 e9 ldi r24, 0x97 ; 151
1d8: 90 e0 ldi r25, 0x00 ; 0
1da: 4b df rcall .-362 ; 0x72 <writeln>
1dc: 81 ed ldi r24, 0xD1 ; 209
1de: 90 e0 ldi r25, 0x00 ; 0
1e0: 48 df rcall .-368 ; 0x72 <writeln>
1e2: c2 9a sbi 0x18, 2 ; 24
1e4: 81 e0 ldi r24, 0x01 ; 1
1e6: bd d2 rcall .+1402 ; 0x762 <halWait>
1e8: c2 98 cbi 0x18, 2 ; 24
1ea: 81 e0 ldi r24, 0x01 ; 1
1ec: ba d2 rcall .+1396 ; 0x762 <halWait>
1ee: c2 9a sbi 0x18, 2 ; 24
1f0: 89 e2 ldi r24, 0x29 ; 41
1f2: b7 d2 rcall .+1390 ; 0x762 <halWait>
1f4: c2 98 cbi 0x18, 2 ; 24
1f6: b4 99 sbic 0x16, 4 ; 22
1f8: fe cf rjmp .-4 ; 0x1f6 <main+0x66>
1fa: 80 e3 ldi r24, 0x30 ; 48
1fc: 8f b9 out 0x0f, r24 ; 15
1fe: 77 9b sbis 0x0e, 7 ; 14
200: fe cf rjmp .-4 ; 0x1fe <main+0x6e>
202: b4 99 sbic 0x16, 4 ; 22
204: fe cf rjmp .-4 ; 0x202 <main+0x72>
206: c2 9a sbi 0x18, 2 ; 24
208: 82 e7 ldi r24, 0x72 ; 114
20a: 90 e0 ldi r25, 0x00 ; 0
20c: 0e d2 rcall .+1052 ; 0x62a <halRfWriteRfSettings>
20e: 41 e0 ldi r20, 0x01 ; 1
210: 61 e7 ldi r22, 0x71 ; 113
212: 70 e0 ldi r23, 0x00 ; 0
214: 8e e3 ldi r24, 0x3E ; 62
216: f4 d1 rcall .+1000 ; 0x600 <halSpiWriteBurstReg>
218: 89 ef ldi r24, 0xF9 ; 249
21a: 90 e0 ldi r25, 0x00 ; 0
21c: 2a df rcall .-428 ; 0x72 <writeln>
21e: 5f 98 cbi 0x0b, 7 ; 11
220: 57 9a sbi 0x0a, 7 ; 10
222: 8b b7 in r24, 0x3b ; 59
224: 8f 77 andi r24, 0x7F ; 127
226: 8b bf out 0x3b, r24 ; 59
228: 78 94 sei
22a: 10 92 0a 05 sts 0x050A, r1
22e: 10 92 b5 04 sts 0x04B5, r1
232: 80 91 b8 04 lds r24, 0x04B8
236: 88 23 and r24, r24
238: e1 f3 breq .-8 ; 0x232 <main+0xa2>
23a: 82 e1 ldi r24, 0x12 ; 18
23c: 91 e0 ldi r25, 0x01 ; 1
23e: 0e df rcall .-484 ; 0x5c <write>
240: b5 d3 rcall .+1898 ; 0x9ac <ucCheckUart>
242: 80 91 0a 05 lds r24, 0x050A
246: 88 23 and r24, r24
248: 09 f4 brne .+2 ; 0x24c <main+0xbc>
24a: 7c c0 rjmp .+248 ; 0x344 <main+0x1b4>
24c: 80 91 0a 05 lds r24, 0x050A
250: 80 93 5d 02 sts 0x025D, r24
254: 31 e0 ldi r19, 0x01 ; 1
256: e3 2e mov r14, r19
258: f1 2c mov r15, r1
25a: 01 2d mov r16, r1
25c: 11 2d mov r17, r1
25e: 80 91 0a 05 lds r24, 0x050A
262: 99 27 eor r25, r25
264: 01 96 adiw r24, 0x01 ; 1
266: aa 27 eor r26, r26
268: 97 fd sbrc r25, 7
26a: a0 95 com r26
26c: ba 2f mov r27, r26
26e: e8 16 cp r14, r24
270: f9 06 cpc r15, r25
272: 0a 07 cpc r16, r26
274: 1b 07 cpc r17, r27
276: 70 f4 brcc .+28 ; 0x294 <main+0x104>
278: d7 01 movw r26, r14
27a: a3 5a subi r26, 0xA3 ; 163
27c: bd 4f sbci r27, 0xFD ; 253
27e: f7 01 movw r30, r14
280: e7 54 subi r30, 0x47 ; 71
282: fb 4f sbci r31, 0xFB ; 251
284: 80 81 ld r24, Z
286: 8c 93 st X, r24
288: 08 94 sec
28a: e1 1c adc r14, r1
28c: f1 1c adc r15, r1
28e: 01 1d adc r16, r1
290: 11 1d adc r17, r1
292: e5 cf rjmp .-54 ; 0x25e <main+0xce>
294: f7 01 movw r30, r14
296: e3 5a subi r30, 0xA3 ; 163
298: fd 4f sbci r31, 0xFD ; 253
29a: 10 82 st Z, r1
29c: 8b b7 in r24, 0x3b ; 59
29e: 8f 77 andi r24, 0x7F ; 127
2a0: 8b bf out 0x3b, r24 ; 59
2a2: 10 92 b5 04 sts 0x04B5, r1
2a6: ee 24 eor r14, r14
2a8: ff 24 eor r15, r15
2aa: 87 01 movw r16, r14
2ac: 80 91 b5 04 lds r24, 0x04B5
2b0: 88 23 and r24, r24
2b2: 29 f5 brne .+74 ; 0x2fe <main+0x16e>
2b4: 64 e0 ldi r22, 0x04 ; 4
2b6: 84 e6 ldi r24, 0x64 ; 100
2b8: 90 e0 ldi r25, 0x00 ; 0
2ba: 5a d2 rcall .+1204 ; 0x770 <halRfSendPacket>
2bc: 84 e3 ldi r24, 0x34 ; 52
2be: 87 d1 rcall .+782 ; 0x5ce <halSpiStrobe>
2c0: c3 e0 ldi r28, 0x03 ; 3
2c2: 88 ec ldi r24, 0xC8 ; 200
2c4: 4e d2 rcall .+1180 ; 0x762 <halWait>
2c6: c1 50 subi r28, 0x01 ; 1
2c8: c7 ff sbrs r28, 7
2ca: fb cf rjmp .-10 ; 0x2c2 <main+0x132>
2cc: 80 e8 ldi r24, 0x80 ; 128
2ce: 8a bf out 0x3a, r24 ; 58
2d0: 8b b7 in r24, 0x3b ; 59
2d2: 80 68 ori r24, 0x80 ; 128
2d4: 8b bf out 0x3b, r24 ; 59
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -