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

📄 cc2420db_library.lss

📁 MatLab图像传感器网络仿真平台WiSNAP
💻 LSS
📖 第 1 页 / 共 5 页
字号:
		status = sscanf(&command[11+2*i], "%2X", &dummy);
     738:	9f 92       	push	r9
     73a:	8f 92       	push	r8
     73c:	80 e0       	ldi	r24, 0x00	; 0
     73e:	91 e0       	ldi	r25, 0x01	; 1
     740:	9f 93       	push	r25
     742:	8f 93       	push	r24
     744:	05 5f       	subi	r16, 0xF5	; 245
     746:	1f 4f       	sbci	r17, 0xFF	; 255
     748:	1f 93       	push	r17
     74a:	0f 93       	push	r16
     74c:	0b 50       	subi	r16, 0x0B	; 11
     74e:	10 40       	sbci	r17, 0x00	; 0
     750:	0e 94 31 0a 	call	0x1462
		rfTxInfo.pPayload[i] = (BYTE) (command[11+2*i] != '0' ?
     754:	a0 91 36 02 	lds	r26, 0x0236
     758:	b0 91 37 02 	lds	r27, 0x0237
     75c:	ae 0d       	add	r26, r14
     75e:	bf 1d       	adc	r27, r15
     760:	2d b7       	in	r18, 0x3d	; 61
     762:	3e b7       	in	r19, 0x3e	; 62
     764:	2a 5f       	subi	r18, 0xFA	; 250
     766:	3f 4f       	sbci	r19, 0xFF	; 255
     768:	0f b6       	in	r0, 0x3f	; 63
     76a:	f8 94       	cli
     76c:	3e bf       	out	0x3e, r19	; 62
     76e:	0f be       	out	0x3f, r0	; 63
     770:	2d bf       	out	0x3d, r18	; 61
     772:	29 81       	ldd	r18, Y+1	; 0x01
     774:	3a 81       	ldd	r19, Y+2	; 0x02
     776:	f8 01       	movw	r30, r16
     778:	83 85       	ldd	r24, Z+11	; 0x0b
     77a:	80 33       	cpi	r24, 0x30	; 48
     77c:	29 f4       	brne	.+10     	; 0x788
     77e:	44 e0       	ldi	r20, 0x04	; 4
     780:	36 95       	lsr	r19
     782:	27 95       	ror	r18
     784:	4a 95       	dec	r20
     786:	e1 f7       	brne	.-8      	; 0x780
     788:	2c 93       	st	X, r18
     78a:	08 94       	sec
     78c:	e1 1c       	adc	r14, r1
     78e:	f1 1c       	adc	r15, r1
     790:	0e 5f       	subi	r16, 0xFE	; 254
     792:	1f 4f       	sbci	r17, 0xFF	; 255
     794:	80 91 35 02 	lds	r24, 0x0235
     798:	99 27       	eor	r25, r25
     79a:	87 fd       	sbrc	r24, 7
     79c:	90 95       	com	r25
     79e:	e8 16       	cp	r14, r24
     7a0:	f9 06       	cpc	r15, r25
     7a2:	54 f2       	brlt	.-108    	; 0x738
			dummy : dummy >> 4);;
	}

	/* parse packet footer */
	status = sscanf(&command[11+2*rfTxInfo.length], "%2X",
     7a4:	ce 01       	movw	r24, r28
     7a6:	01 96       	adiw	r24, 0x01	; 1
     7a8:	9f 93       	push	r25
     7aa:	8f 93       	push	r24
     7ac:	80 e0       	ldi	r24, 0x00	; 0
     7ae:	91 e0       	ldi	r25, 0x01	; 1
     7b0:	9f 93       	push	r25
     7b2:	8f 93       	push	r24
     7b4:	80 91 35 02 	lds	r24, 0x0235
     7b8:	99 27       	eor	r25, r25
     7ba:	87 fd       	sbrc	r24, 7
     7bc:	90 95       	com	r25
     7be:	88 0f       	add	r24, r24
     7c0:	99 1f       	adc	r25, r25
     7c2:	8c 0d       	add	r24, r12
     7c4:	9d 1d       	adc	r25, r13
     7c6:	0b 96       	adiw	r24, 0x0b	; 11
     7c8:	9f 93       	push	r25
     7ca:	8f 93       	push	r24
     7cc:	0e 94 31 0a 	call	0x1462
		&dummy);
	rfTxInfo.ackRequest = (BOOL) dummy & 0x01;
     7d0:	89 81       	ldd	r24, Y+1	; 0x01
     7d2:	81 70       	andi	r24, 0x01	; 1
     7d4:	80 93 38 02 	sts	0x0238, r24

	/* add packet header */
	status = sprintf(&response[0], ":%c%04X%04X%02X", command[0],
     7d8:	80 91 35 02 	lds	r24, 0x0235
     7dc:	99 27       	eor	r25, r25
     7de:	87 fd       	sbrc	r24, 7
     7e0:	90 95       	com	r25
     7e2:	9f 93       	push	r25
     7e4:	8f 93       	push	r24
     7e6:	80 91 33 02 	lds	r24, 0x0233
     7ea:	90 91 34 02 	lds	r25, 0x0234
     7ee:	9f 93       	push	r25
     7f0:	8f 93       	push	r24
     7f2:	80 91 31 02 	lds	r24, 0x0231
     7f6:	90 91 32 02 	lds	r25, 0x0232
     7fa:	9f 93       	push	r25
     7fc:	8f 93       	push	r24
     7fe:	f6 01       	movw	r30, r12
     800:	80 81       	ld	r24, Z
     802:	99 27       	eor	r25, r25
     804:	9f 93       	push	r25
     806:	8f 93       	push	r24
     808:	80 e8       	ldi	r24, 0x80	; 128
     80a:	91 e0       	ldi	r25, 0x01	; 1
     80c:	9f 93       	push	r25
     80e:	8f 93       	push	r24
     810:	bf 92       	push	r11
     812:	af 92       	push	r10
     814:	0e 94 00 0a 	call	0x1400
		rfTxInfo.destPanId, rfTxInfo.destAddr,rfTxInfo.length);

	/* add packet payload */
	for (i = 0; i < rfTxInfo.length; i++)
     818:	2d b7       	in	r18, 0x3d	; 61
     81a:	3e b7       	in	r19, 0x3e	; 62
     81c:	2e 5e       	subi	r18, 0xEE	; 238
     81e:	3f 4f       	sbci	r19, 0xFF	; 255
     820:	0f b6       	in	r0, 0x3f	; 63
     822:	f8 94       	cli
     824:	3e bf       	out	0x3e, r19	; 62
     826:	0f be       	out	0x3f, r0	; 63
     828:	2d bf       	out	0x3d, r18	; 61
     82a:	80 91 35 02 	lds	r24, 0x0235
     82e:	ee 24       	eor	r14, r14
     830:	ff 24       	eor	r15, r15
     832:	18 16       	cp	r1, r24
     834:	54 f5       	brge	.+84     	; 0x88a
     836:	85 01       	movw	r16, r10
     838:	04 5f       	subi	r16, 0xF4	; 244
     83a:	1f 4f       	sbci	r17, 0xFF	; 255
	{
		status = sprintf(&response[12+2*i], "%02X", rfTxInfo.pPayload[i]);
     83c:	e0 91 36 02 	lds	r30, 0x0236
     840:	f0 91 37 02 	lds	r31, 0x0237
     844:	ee 0d       	add	r30, r14
     846:	ff 1d       	adc	r31, r15
     848:	80 81       	ld	r24, Z
     84a:	99 27       	eor	r25, r25
     84c:	9f 93       	push	r25
     84e:	8f 93       	push	r24
     850:	8e e5       	ldi	r24, 0x5E	; 94
     852:	91 e0       	ldi	r25, 0x01	; 1
     854:	9f 93       	push	r25
     856:	8f 93       	push	r24
     858:	1f 93       	push	r17
     85a:	0f 93       	push	r16
     85c:	0e 94 00 0a 	call	0x1400
     860:	8d b7       	in	r24, 0x3d	; 61
     862:	9e b7       	in	r25, 0x3e	; 62
     864:	06 96       	adiw	r24, 0x06	; 6
     866:	0f b6       	in	r0, 0x3f	; 63
     868:	f8 94       	cli
     86a:	9e bf       	out	0x3e, r25	; 62
     86c:	0f be       	out	0x3f, r0	; 63
     86e:	8d bf       	out	0x3d, r24	; 61
     870:	08 94       	sec
     872:	e1 1c       	adc	r14, r1
     874:	f1 1c       	adc	r15, r1
     876:	0e 5f       	subi	r16, 0xFE	; 254
     878:	1f 4f       	sbci	r17, 0xFF	; 255
     87a:	80 91 35 02 	lds	r24, 0x0235
     87e:	99 27       	eor	r25, r25
     880:	87 fd       	sbrc	r24, 7
     882:	90 95       	com	r25
     884:	e8 16       	cp	r14, r24
     886:	f9 06       	cpc	r15, r25
     888:	cc f2       	brlt	.-78     	; 0x83c
	}

	/* add packet footer */
	status = sprintf(&response[12+2*rfTxInfo.length], "%02X\r\n",
     88a:	80 91 38 02 	lds	r24, 0x0238
     88e:	99 27       	eor	r25, r25
     890:	9f 93       	push	r25
     892:	8f 93       	push	r24
     894:	80 e9       	ldi	r24, 0x90	; 144
     896:	91 e0       	ldi	r25, 0x01	; 1
     898:	9f 93       	push	r25
     89a:	8f 93       	push	r24
     89c:	80 91 35 02 	lds	r24, 0x0235
     8a0:	99 27       	eor	r25, r25
     8a2:	87 fd       	sbrc	r24, 7
     8a4:	90 95       	com	r25
     8a6:	88 0f       	add	r24, r24
     8a8:	99 1f       	adc	r25, r25
     8aa:	8a 0d       	add	r24, r10
     8ac:	9b 1d       	adc	r25, r11
     8ae:	0c 96       	adiw	r24, 0x0c	; 12
     8b0:	9f 93       	push	r25
     8b2:	8f 93       	push	r24
     8b4:	0e 94 00 0a 	call	0x1400
		rfTxInfo.ackRequest);

	/* execute command */
	status = RfSendPacket(&rfTxInfo);
     8b8:	81 e3       	ldi	r24, 0x31	; 49
     8ba:	92 e0       	ldi	r25, 0x02	; 2
     8bc:	0e 94 75 00 	call	0xea

	/* generate command response */
	status = sprintf(&response[0], ":%c%02X\r\n",
     8c0:	9f 93       	push	r25
     8c2:	8f 93       	push	r24
     8c4:	f6 01       	movw	r30, r12
     8c6:	80 81       	ld	r24, Z
     8c8:	99 27       	eor	r25, r25
     8ca:	9f 93       	push	r25
     8cc:	8f 93       	push	r24
     8ce:	87 e9       	ldi	r24, 0x97	; 151
     8d0:	91 e0       	ldi	r25, 0x01	; 1
     8d2:	9f 93       	push	r25
     8d4:	8f 93       	push	r24
     8d6:	bf 92       	push	r11
     8d8:	af 92       	push	r10
     8da:	0e 94 00 0a 	call	0x1400
		command[0], status);

	/* return status */
	return status;
     8de:	2d b7       	in	r18, 0x3d	; 61
     8e0:	3e b7       	in	r19, 0x3e	; 62
     8e2:	22 5f       	subi	r18, 0xF2	; 242
     8e4:	3f 4f       	sbci	r19, 0xFF	; 255
     8e6:	0f b6       	in	r0, 0x3f	; 63
     8e8:	f8 94       	cli
     8ea:	3e bf       	out	0x3e, r19	; 62
     8ec:	0f be       	out	0x3f, r0	; 63
     8ee:	2d bf       	out	0x3d, r18	; 61
     8f0:	22 96       	adiw	r28, 0x02	; 2
     8f2:	0f b6       	in	r0, 0x3f	; 63
     8f4:	f8 94       	cli
     8f6:	de bf       	out	0x3e, r29	; 62
     8f8:	0f be       	out	0x3f, r0	; 63
     8fa:	cd bf       	out	0x3d, r28	; 61
     8fc:	df 91       	pop	r29
     8fe:	cf 91       	pop	r28
     900:	1f 91       	pop	r17
     902:	0f 91       	pop	r16
     904:	ff 90       	pop	r15
     906:	ef 90       	pop	r14
     908:	df 90       	pop	r13
     90a:	cf 90       	pop	r12
     90c:	bf 90       	pop	r11
     90e:	af 90       	pop	r10
     910:	9f 90       	pop	r9
     912:	8f 90       	pop	r8
     914:	08 95       	ret

00000916 <toggle_location_led>:
}

/*******************************************************************************
 * Function: Toggle Location LED.                                              *
 *******************************************************************************/
int toggle_location_led(char *command, char *response)
{
     916:	fc 01       	movw	r30, r24
	int				status;

	/* execute command */
	PORTE = PINE ^ 0x80;
     918:	81 b1       	in	r24, 0x01	; 1
     91a:	90 e8       	ldi	r25, 0x80	; 128
     91c:	89 27       	eor	r24, r25
     91e:	83 b9       	out	0x03, r24	; 3

	/* generate command response */
	status = sprintf(&response[0], ":%c\r\n", command[0]);
     920:	80 81       	ld	r24, Z
     922:	99 27       	eor	r25, r25
     924:	9f 93       	push	r25
     926:	8f 93       	push	r24
     928:	8e e6       	ldi	r24, 0x6E	; 110
     92a:	91 e0       	ldi	r25, 0x01	; 1
     92c:	9f 93       	push	r25
     92e:	8f 93       	push	r24
     930:	7f 93       	push	r23
     932:	6f 93       	push	r22
     934:	0e 94 00 0a 	call	0x1400

	/* return status */
	return status;
     938:	2d b7       	in	r18, 0x3d	; 61
     93a:	3e b7       	in	r19, 0x3e	; 62
     93c:	2a 5f       	subi	r18, 0xFA	; 250
     93e:	3f 4f       	sbci	r19, 0xFF	; 255
     940:	0f b6       	in	r0, 0x3f	; 63
     942:	f8 94       	cli
     944:	3e bf       	out	0x3e, r19	; 62
     946:	0f be       	out	0x3f, r0	; 63
     948:	2d bf       	out	0x3d, r18	; 61
     94a:	08 95       	ret

0000094c <execute_command>:
}

/*******************************************************************************
 * Function: Execute command.                                                  *
 *******************************************************************************/
void execute_command(char *command, char *response)
{
     94c:	0f 93       	push	r16
     94e:	1f 93       	push	r17
     950:	cf 93       	push	r28
     952:	df 93       	push	r29
     954:	ec 01       	movw	r28, r24
     956:	8b 01       	movw	r16, r22
	int				status;

	/* decode command */
	command[0] = toupper(command[0]);
     958:	88 81       	ld	r24, Y
     95a:	99 27       	eor	r25, r25
     95c:	0e 94 51 10 	call	0x20a2
     960:	88 83       	st	Y, r24
	switch (command[0])
     962:	99 27       	eor	r25, r25
     964:	84 34       	cpi	r24, 0x44	; 68
     966:	91 05       	cpc	r25, r1
     968:	69 f1       	breq	.+90     	; 0x9c4
     96a:	85 34       	cpi	r24, 0x45	; 69
     96c:	91 05       	cpc	r25, r1
     96e:	54 f4       	brge	.+20     	; 0x984
     970:	82 34       	cpi	r24, 0x42	; 66
     972:	91 05       	cpc	r25, r1
     974:	e9 f0       	breq	.+58     	; 0x9b0
     976:	83 34       	cpi	r24, 0x43	; 67
     978:	91 05       	cpc	r25, r1
     97a:	fc f4       	brge	.+62     	; 0x9ba
     97c:	81 34       	cpi	r24, 0x41	; 65
     97e:	91 05       	cpc	r25, r1
     980:	91 f0       	breq	.+36     	; 0x9a6
     982:	3a c0       	rjmp	.+116    	; 0x9f8
     984:	82 35       	cpi	r24, 0x52	; 82
     986:	91 05       	cpc	r25, r1
     988:	39 f1       	breq	.+78     	; 0x9d8
     98a:	83 35       	cpi	r24, 0x53	; 83
     98c:	91 05       	cpc	r25, r1
     98e:	24 f4       	brge	.+8      	; 0x998
     990:	89 34       	cpi	r24, 0x49	; 73
     992:	91 05       	cpc	r25, r1
     994:	e1 f0       	breq	.+56     	; 0x9ce
     996:	30 c0       	rjmp	.+96     	; 0x9f8
     998:	83 35       	cpi	r24, 0x53	; 83
     99a:	91 05       	cpc	r25, r1
     99c:	11 f1       	breq	.+68     	; 0x9e2
     99e:	84 35       	cpi	r24, 0x54	; 84
     9a0:	91 05       	cpc	r25, r1
     9a2:	21 f1       	breq	.+72     	; 0x9ec
     9a4:	29 c0       	rjmp	.+82     	; 0x9f8
	{
				
		/* read atmega128 register */
		case 'A':
				
			/* call command routine */
			status = read_at_register(&command[0], &response[0]);
     9a6:	b8 01       	movw	r22, r16
     9a8:	ce 01       	movw	r24, r28
     9aa:	0e 94 8e 00 	call	0x11c
			break;
     9ae:	22 c0       	rjmp	.+68     	; 0x9f4
					
		/* write atmega128 register */
		case 'B':
					
			/* call command routine */
			status = write_at_register(&command[0], &response[0]);
     9b0:	b8 01       	movw	r22, r16
     9b2:	ce 01       	movw	r24, r28
     9b4:	0e 94 db 00 	call	0x1b6
			break;
     9b8:	1d c0       	rjmp	.+58     	; 0x9f4
					

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -