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

📄 main.lss

📁 adhoc汇聚节点程序源代码(点对多点)——for atmega128
💻 LSS
📖 第 1 页 / 共 5 页
字号:
}

result_t CC1000ControlStdControlStop(void)
{
	CC1000HPLWrite(0x0B, 0x00);
	CC1000HPLWrite(0x00, (((((
		1 << 5) | (1 << 4)) | (
		1 << 3)) | (1 << 2)) | (1 << 1)) | (
		1 << 0));
	
	return SUCCESS;
}

result_t CC1000HPLWrite(uint8_t addr, uint8_t data)
{
     9a6:	0f 93       	push	r16
     9a8:	1f 93       	push	r17
     9aa:	cf 93       	push	r28
     9ac:	06 2f       	mov	r16, r22
	char cnt = 0;
	
	addr <<= 1;
     9ae:	c8 2f       	mov	r28, r24
     9b0:	cc 0f       	add	r28, r28
	OSH_CLR_CC_PALE_PIN();
     9b2:	0e 94 d8 06 	call	0xdb0
     9b6:	16 e0       	ldi	r17, 0x06	; 6
	for (cnt = 0; cnt < 7; cnt++) 
    {
		if (addr & 0x80) {
     9b8:	c7 ff       	sbrs	r28, 7
     9ba:	03 c0       	rjmp	.+6      	; 0x9c2
			OSH_SET_CC_PDATA_PIN();
     9bc:	0e 94 d0 06 	call	0xda0
     9c0:	02 c0       	rjmp	.+4      	; 0x9c6
        }
		else {
			OSH_CLR_CC_PDATA_PIN();
     9c2:	0e 94 da 06 	call	0xdb4
        }
		OSH_CLR_CC_PCLK_PIN();
     9c6:	0e 94 dc 06 	call	0xdb8
		OSH_SET_CC_PCLK_PIN();
     9ca:	0e 94 ce 06 	call	0xd9c
		addr <<= 1;
     9ce:	cc 0f       	add	r28, r28
     9d0:	11 50       	subi	r17, 0x01	; 1
     9d2:	17 ff       	sbrs	r17, 7
     9d4:	f1 cf       	rjmp	.-30     	; 0x9b8
    }
	OSH_SET_CC_PDATA_PIN();
     9d6:	0e 94 d0 06 	call	0xda0
	OSH_CLR_CC_PCLK_PIN();
     9da:	0e 94 dc 06 	call	0xdb8
	OSH_SET_CC_PCLK_PIN();
     9de:	0e 94 ce 06 	call	0xd9c
	
	OSH_SET_CC_PALE_PIN();
     9e2:	0e 94 d2 06 	call	0xda4
     9e6:	17 e0       	ldi	r17, 0x07	; 7
	
	for (cnt = 0; cnt < 8; cnt++) 
    {
		if (data & 0x80) {
     9e8:	07 ff       	sbrs	r16, 7
     9ea:	03 c0       	rjmp	.+6      	; 0x9f2
			OSH_SET_CC_PDATA_PIN();
     9ec:	0e 94 d0 06 	call	0xda0
     9f0:	02 c0       	rjmp	.+4      	; 0x9f6
        }
		else {
			OSH_CLR_CC_PDATA_PIN();
     9f2:	0e 94 da 06 	call	0xdb4
        }
		OSH_CLR_CC_PCLK_PIN();
     9f6:	0e 94 dc 06 	call	0xdb8
		OSH_SET_CC_PCLK_PIN();
     9fa:	0e 94 ce 06 	call	0xd9c
		data <<= 1;
     9fe:	00 0f       	add	r16, r16
     a00:	11 50       	subi	r17, 0x01	; 1
     a02:	17 ff       	sbrs	r17, 7
     a04:	f1 cf       	rjmp	.-30     	; 0x9e8
    }
	OSH_SET_CC_PALE_PIN();
     a06:	0e 94 d2 06 	call	0xda4
	OSH_SET_CC_PDATA_PIN();
     a0a:	0e 94 d0 06 	call	0xda0
	OSH_SET_CC_PCLK_PIN();
     a0e:	0e 94 ce 06 	call	0xd9c
	return SUCCESS;
}
     a12:	81 e0       	ldi	r24, 0x01	; 1
     a14:	90 e0       	ldi	r25, 0x00	; 0
     a16:	cf 91       	pop	r28
     a18:	1f 91       	pop	r17
     a1a:	0f 91       	pop	r16
     a1c:	08 95       	ret

00000a1e <CC1000ControlStdControlStop>:
     a1e:	60 e0       	ldi	r22, 0x00	; 0
     a20:	8b e0       	ldi	r24, 0x0B	; 11
     a22:	0e 94 d3 04 	call	0x9a6
     a26:	6f e3       	ldi	r22, 0x3F	; 63
     a28:	80 e0       	ldi	r24, 0x00	; 0
     a2a:	0e 94 d3 04 	call	0x9a6
     a2e:	81 e0       	ldi	r24, 0x01	; 1
     a30:	90 e0       	ldi	r25, 0x00	; 0
     a32:	08 95       	ret

00000a34 <CC1000ControlRxMode>:
     a34:	61 e1       	ldi	r22, 0x11	; 17
     a36:	80 e0       	ldi	r24, 0x00	; 0
     a38:	0e 94 d3 04 	call	0x9a6
     a3c:	60 91 d5 01 	lds	r22, 0x01D5
     a40:	89 e0       	ldi	r24, 0x09	; 9
     a42:	0e 94 d3 04 	call	0x9a6
     a46:	60 e0       	ldi	r22, 0x00	; 0
     a48:	8b e0       	ldi	r24, 0x0B	; 11
     a4a:	0e 94 d3 04 	call	0x9a6
     a4e:	8a ef       	ldi	r24, 0xFA	; 250
     a50:	90 e0       	ldi	r25, 0x00	; 0
     a52:	0e 94 7e 08 	call	0x10fc
     a56:	81 e0       	ldi	r24, 0x01	; 1
     a58:	90 e0       	ldi	r25, 0x00	; 0
     a5a:	08 95       	ret

00000a5c <CC1000ControlTxMode>:
     a5c:	61 ee       	ldi	r22, 0xE1	; 225
     a5e:	80 e0       	ldi	r24, 0x00	; 0
     a60:	0e 94 d3 04 	call	0x9a6
     a64:	60 91 e9 01 	lds	r22, 0x01E9
     a68:	89 e0       	ldi	r24, 0x09	; 9
     a6a:	0e 94 d3 04 	call	0x9a6
     a6e:	8a ef       	ldi	r24, 0xFA	; 250
     a70:	90 e0       	ldi	r25, 0x00	; 0
     a72:	0e 94 7e 08 	call	0x10fc
     a76:	60 91 d7 01 	lds	r22, 0x01D7
     a7a:	8b e0       	ldi	r24, 0x0B	; 11
     a7c:	0e 94 d3 04 	call	0x9a6
     a80:	84 e1       	ldi	r24, 0x14	; 20
     a82:	90 e0       	ldi	r25, 0x00	; 0
     a84:	0e 94 7e 08 	call	0x10fc
     a88:	81 e0       	ldi	r24, 0x01	; 1
     a8a:	90 e0       	ldi	r25, 0x00	; 0
     a8c:	08 95       	ret

00000a8e <CC1000ControlStdControlStart>:
     a8e:	6b e3       	ldi	r22, 0x3B	; 59
     a90:	80 e0       	ldi	r24, 0x00	; 0
     a92:	0e 94 d3 04 	call	0x9a6
     a96:	80 ed       	ldi	r24, 0xD0	; 208
     a98:	97 e0       	ldi	r25, 0x07	; 7
     a9a:	0e 94 7e 08 	call	0x10fc
     a9e:	81 e0       	ldi	r24, 0x01	; 1
     aa0:	90 e0       	ldi	r25, 0x00	; 0
     aa2:	08 95       	ret

00000aa4 <CC1000ControlBIASOn>:
     aa4:	69 e3       	ldi	r22, 0x39	; 57
     aa6:	80 e0       	ldi	r24, 0x00	; 0
     aa8:	0e 94 d3 04 	call	0x9a6
     aac:	88 ec       	ldi	r24, 0xC8	; 200
     aae:	90 e0       	ldi	r25, 0x00	; 0
     ab0:	0e 94 7e 08 	call	0x10fc
     ab4:	81 e0       	ldi	r24, 0x01	; 1
     ab6:	90 e0       	ldi	r25, 0x00	; 0
     ab8:	08 95       	ret

00000aba <CC1000ControlCC1000SetModem>:
     aba:	60 91 db 01 	lds	r22, 0x01DB
     abe:	8f e0       	ldi	r24, 0x0F	; 15
     ac0:	0e 94 d3 04 	call	0x9a6
     ac4:	60 91 dc 01 	lds	r22, 0x01DC
     ac8:	80 e1       	ldi	r24, 0x10	; 16
     aca:	0e 94 d3 04 	call	0x9a6
     ace:	60 91 dd 01 	lds	r22, 0x01DD
     ad2:	81 e1       	ldi	r24, 0x11	; 17
     ad4:	0e 94 d3 04 	call	0x9a6
     ad8:	08 95       	ret

00000ada <CC1000ControlSelectLock>:
     ada:	82 95       	swap	r24
     adc:	80 7f       	andi	r24, 0xF0	; 240
     ade:	80 93 d9 01 	sts	0x01D9, r24
     ae2:	68 2f       	mov	r22, r24
     ae4:	8d e0       	ldi	r24, 0x0D	; 13
     ae6:	0e 94 d3 04 	call	0x9a6
     aea:	99 27       	eor	r25, r25
     aec:	08 95       	ret

00000aee <CC1000HPLRead>:

uint8_t CC1000HPLRead(uint8_t addr)
{
     aee:	0f 93       	push	r16
     af0:	1f 93       	push	r17
     af2:	cf 93       	push	r28
     af4:	df 93       	push	r29
	int cnt;
	uint8_t din;
	uint8_t data = 0;
     af6:	00 e0       	ldi	r16, 0x00	; 0
	
	addr <<= 1;
     af8:	18 2f       	mov	r17, r24
     afa:	11 0f       	add	r17, r17
	OSH_CLR_CC_PALE_PIN();
     afc:	0e 94 d8 06 	call	0xdb0
     b00:	c6 e0       	ldi	r28, 0x06	; 6
     b02:	d0 e0       	ldi	r29, 0x00	; 0
	for (cnt = 0; cnt < 7; cnt++) 
    {
		if (addr & 0x80) {
     b04:	17 ff       	sbrs	r17, 7
     b06:	03 c0       	rjmp	.+6      	; 0xb0e
			OSH_SET_CC_PDATA_PIN();
     b08:	0e 94 d0 06 	call	0xda0
     b0c:	02 c0       	rjmp	.+4      	; 0xb12
        }
		else {
			OSH_CLR_CC_PDATA_PIN();
     b0e:	0e 94 da 06 	call	0xdb4
        }
		OSH_CLR_CC_PCLK_PIN();
     b12:	0e 94 dc 06 	call	0xdb8
		OSH_SET_CC_PCLK_PIN();
     b16:	0e 94 ce 06 	call	0xd9c
		addr <<= 1;
     b1a:	11 0f       	add	r17, r17
     b1c:	21 97       	sbiw	r28, 0x01	; 1
     b1e:	d7 ff       	sbrs	r29, 7
     b20:	f1 cf       	rjmp	.-30     	; 0xb04
     b22:	c7 e0       	ldi	r28, 0x07	; 7
     b24:	d0 e0       	ldi	r29, 0x00	; 0
    }
	OSH_CLR_CC_PDATA_PIN();
     b26:	0e 94 da 06 	call	0xdb4
	OSH_CLR_CC_PCLK_PIN();
     b2a:	0e 94 dc 06 	call	0xdb8
	OSH_SET_CC_PCLK_PIN();
     b2e:	0e 94 ce 06 	call	0xd9c
	
	OSH_MAKE_CC_PDATA_INPUT();
     b32:	0e 94 de 06 	call	0xdbc
	OSH_SET_CC_PALE_PIN();
     b36:	0e 94 d2 06 	call	0xda4
	
	
	for (cnt = 7; cnt >= 0; cnt--) 
    {
		OSH_CLR_CC_PCLK_PIN();
     b3a:	0e 94 dc 06 	call	0xdb8
		din = OSH_READ_CC_PDATA_PIN();
     b3e:	0e 94 e0 06 	call	0xdc0
     b42:	20 2f       	mov	r18, r16
     b44:	33 27       	eor	r19, r19
     b46:	21 97       	sbiw	r28, 0x01	; 1
		if (din) {
     b48:	88 23       	and	r24, r24
     b4a:	29 f0       	breq	.+10     	; 0xb56
			data = (data << 1) | 0x01;
     b4c:	22 0f       	add	r18, r18
     b4e:	33 1f       	adc	r19, r19
     b50:	02 2f       	mov	r16, r18
     b52:	01 60       	ori	r16, 0x01	; 1
     b54:	02 c0       	rjmp	.+4      	; 0xb5a
        }
		else {
			data = (data << 1) & 0xfe;
     b56:	02 2f       	mov	r16, r18
     b58:	00 0f       	add	r16, r16
        }
		OSH_SET_CC_PCLK_PIN();
     b5a:	0e 94 ce 06 	call	0xd9c
     b5e:	d7 ff       	sbrs	r29, 7
     b60:	ec cf       	rjmp	.-40     	; 0xb3a
    }
	
	OSH_SET_CC_PALE_PIN();
     b62:	0e 94 d2 06 	call	0xda4
	OSH_MAKE_CC_PDATA_OUTPUT();
     b66:	0e 94 83 06 	call	0xd06
	OSH_SET_CC_PDATA_PIN();
     b6a:	0e 94 d0 06 	call	0xda0
	
	return data;
}
     b6e:	80 2f       	mov	r24, r16
     b70:	99 27       	eor	r25, r25
     b72:	df 91       	pop	r29
     b74:	cf 91       	pop	r28
     b76:	1f 91       	pop	r17
     b78:	0f 91       	pop	r16
     b7a:	08 95       	ret

00000b7c <CC1000ControlChipconCal>:
     b7c:	cf 93       	push	r28
     b7e:	df 93       	push	r29
     b80:	60 e0       	ldi	r22, 0x00	; 0
     b82:	8b e0       	ldi	r24, 0x0B	; 11
     b84:	0e 94 d3 04 	call	0x9a6
     b88:	6f e3       	ldi	r22, 0x3F	; 63
     b8a:	82 e4       	ldi	r24, 0x42	; 66
     b8c:	0e 94 d3 04 	call	0x9a6
     b90:	61 e1       	ldi	r22, 0x11	; 17
     b92:	80 e0       	ldi	r24, 0x00	; 0
     b94:	0e 94 d3 04 	call	0x9a6
     b98:	66 ea       	ldi	r22, 0xA6	; 166
     b9a:	8e e0       	ldi	r24, 0x0E	; 14
     b9c:	0e 94 d3 04 	call	0x9a6
     ba0:	8e e0       	ldi	r24, 0x0E	; 14
     ba2:	0e 94 77 05 	call	0xaee
     ba6:	83 ff       	sbrs	r24, 3
     ba8:	fb cf       	rjmp	.-10     	; 0xba0
     baa:	66 e2       	ldi	r22, 0x26	; 38
     bac:	8e e0       	ldi	r24, 0x0E	; 14
     bae:	0e 94 d3 04 	call	0x9a6
     bb2:	61 ee       	ldi	r22, 0xE1	; 225
     bb4:	80 e0       	ldi	r24, 0x00	; 0
     bb6:	0e 94 d3 04 	call	0x9a6
     bba:	60 91 e9 01 	lds	r22, 0x01E9
     bbe:	89 e0       	ldi	r24, 0x09	; 9
     bc0:	0e 94 d3 04 	call	0x9a6
     bc4:	60 e0       	ldi	r22, 0x00	; 0
     bc6:	8b e0       	ldi	r24, 0x0B	; 11
     bc8:	0e 94 d3 04 	call	0x9a6
     bcc:	66 ea       	ldi	r22, 0xA6	; 166
     bce:	8e e0       	ldi	r24, 0x0E	; 14
     bd0:	0e 94 d3 04 	call	0x9a6
     bd4:	8e e0       	ldi	r24, 0x0E	; 14
     bd6:	0e 94 77 05 	call	0xaee
     bda:	99 27       	eor	r25, r25
     bdc:	f3 e0       	ldi	r31, 0x03	; 3
     bde:	96 95       	lsr	r25
     be0:	87 95       	ror	r24
     be2:	fa 95       	dec	r31
     be4:	e1 f7       	brne	.-8      	; 0xbde
     be6:	c1 e0       	ldi	r28, 0x01	; 1
     be8:	d0 e0       	ldi	r29, 0x00	; 0
     bea:	8c 23       	and	r24, r28
     bec:	9d 23       	and	r25, r29
     bee:	8c 17       	cp	r24, r28
     bf0:	9d 07       	cpc	r25, r29
     bf2:	81 f7       	brne	.-32     	; 0xbd4
     bf4:	66 e2       	ldi	r22, 0x26	; 38
     bf6:	8e e0       	ldi	r24, 0x0E	; 14
     bf8:	0e 94 d3 04 	call	0x9a6
     bfc:	ce 01       	movw	r24, r28
     bfe:	df 91       	pop	r29
     c00:	cf 91       	pop	r28
     c02:	08 95       	ret

00000c04 <CC1000ControlCC1000SetFreq>:
     c04:	0f 93       	push	r16
     c06:	1f 93       	push	r17
     c08:	cf 93       	push	r28
     c0a:	c1 e0       	ldi	r28, 0x01	; 1
     c0c:	0d ec       	ldi	r16, 0xCD	; 205
     c0e:	11 e0       	ldi	r17, 0x01	; 1
     c10:	f8 01       	movw	r30, r16
     c12:	61 91       	ld	r22, Z+
     c14:	8f 01       	movw	r16, r30
     c16:	8c 2f       	mov	r24, r28
     c18:	0e 94 d3 04 	call	0x9a6
     c1c:	cf 5f       	subi	r28, 0xFF	; 255
     c1e:	cd 30       	cpi	r28, 0x0D	; 13
     c20:	b8 f3       	brcs	.-18     	; 0xc10
     c22:	60 91 de 01 	lds	r22, 0x01DE
     c26:	82 e1       	ldi	r24, 0x12	; 18
     c

⌨️ 快捷键说明

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