⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lss

📁 AVR写的433M无线通信原代码.
💻 LSS
📖 第 1 页 / 共 5 页
字号:
	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 + -