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

📄 basic_rf_init.lst

📁 CC2420+pic,很好用的程序啊,适合初学者,绝对没有问题的,快来下载啊
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"basic_rf_init.c"
   2               		.arch atmega128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  12               		.text
  13               	.Ltext0:
  94               	.global	basicRfInit
  96               	basicRfInit:
   1:../../../lib/basic_rf/basic_rf_init.c **** /**************************************************************************************************
   2:../../../lib/basic_rf/basic_rf_init.c ****  *                                                                                                 
   3:../../../lib/basic_rf/basic_rf_init.c ****  *        **********                                                                               
   4:../../../lib/basic_rf/basic_rf_init.c ****  *       ************                                                                              
   5:../../../lib/basic_rf/basic_rf_init.c ****  *      ***        ***                                                                             
   6:../../../lib/basic_rf/basic_rf_init.c ****  *      ***   +++   ***                                                                            
   7:../../../lib/basic_rf/basic_rf_init.c ****  *      ***   + +   ***                                                                            
   8:../../../lib/basic_rf/basic_rf_init.c ****  *      ***   +                               CHIPCON CC2420 BASIC RF LIBRARY                      
   9:../../../lib/basic_rf/basic_rf_init.c ****  *      ***   + +   ***                                Initilization                               
  10:../../../lib/basic_rf/basic_rf_init.c ****  *      ***   +++   ***                                                                            
  11:../../../lib/basic_rf/basic_rf_init.c ****  *      ***        ***                                                                             
  12:../../../lib/basic_rf/basic_rf_init.c ****  *       ************                                                                              
  13:../../../lib/basic_rf/basic_rf_init.c ****  *        **********                                                                               
  14:../../../lib/basic_rf/basic_rf_init.c ****  *                                                                                                 
  15:../../../lib/basic_rf/basic_rf_init.c ****  **************************************************************************************************
  16:../../../lib/basic_rf/basic_rf_init.c ****  * This file contains the basic RF initialization function.                                        
  17:../../../lib/basic_rf/basic_rf_init.c ****  *                                                                                                 
  18:../../../lib/basic_rf/basic_rf_init.c ****  * More information can be found in basic_rf.h                                                     
  19:../../../lib/basic_rf/basic_rf_init.c ****  **************************************************************************************************
  20:../../../lib/basic_rf/basic_rf_init.c ****  * Compiler: AVR-GCC                                                                               
  21:../../../lib/basic_rf/basic_rf_init.c ****  * Target platform: CC2420DB, CC2420 + any MCU with very few modifications required                
  22:../../../lib/basic_rf/basic_rf_init.c ****  **************************************************************************************************
  23:../../../lib/basic_rf/basic_rf_init.c ****  * Revision history:                                                                               
  24:../../../lib/basic_rf/basic_rf_init.c ****  * $Log: basic_rf_init.c,v $
  25:../../../lib/basic_rf/basic_rf_init.c ****  * Revision 1.4  2004/07/26 11:28:09  mbr
  26:../../../lib/basic_rf/basic_rf_init.c ****  * Modified RXFIFO flushing by strobing CC2420_SFLUSHRX
  27:../../../lib/basic_rf/basic_rf_init.c ****  *
  28:../../../lib/basic_rf/basic_rf_init.c ****  * Revision 1.3  2004/03/30 14:59:22  mbr
  29:../../../lib/basic_rf/basic_rf_init.c ****  * Release for web
  30:../../../lib/basic_rf/basic_rf_init.c ****  * 
  31:../../../lib/basic_rf/basic_rf_init.c ****  *
  32:../../../lib/basic_rf/basic_rf_init.c ****  *
  33:../../../lib/basic_rf/basic_rf_init.c ****  **************************************************************************************************
  34:../../../lib/basic_rf/basic_rf_init.c **** #include <include.h>
  35:../../../lib/basic_rf/basic_rf_init.c **** 
  36:../../../lib/basic_rf/basic_rf_init.c **** 
  37:../../../lib/basic_rf/basic_rf_init.c **** //-------------------------------------------------------------------------------------------------
  38:../../../lib/basic_rf/basic_rf_init.c **** // The RF settings structure is declared here, since we'll always need halRfInit()
  39:../../../lib/basic_rf/basic_rf_init.c **** volatile BASIC_RF_SETTINGS rfSettings;
  40:../../../lib/basic_rf/basic_rf_init.c **** //-------------------------------------------------------------------------------------------------
  41:../../../lib/basic_rf/basic_rf_init.c **** 
  42:../../../lib/basic_rf/basic_rf_init.c **** 
  43:../../../lib/basic_rf/basic_rf_init.c **** 
  44:../../../lib/basic_rf/basic_rf_init.c **** 
  45:../../../lib/basic_rf/basic_rf_init.c **** //-------------------------------------------------------------------------------------------------
  46:../../../lib/basic_rf/basic_rf_init.c **** //  void basicRfInit(BASIC_RF_RX_INFO *pRRI, UINT8 channel, WORD panId, WORD myAddr)
  47:../../../lib/basic_rf/basic_rf_init.c **** //
  48:../../../lib/basic_rf/basic_rf_init.c **** //  DESCRIPTION:
  49:../../../lib/basic_rf/basic_rf_init.c **** //      Initializes CC2420 for radio communication via the basic RF library functions. Turns on the
  50:../../../lib/basic_rf/basic_rf_init.c **** //		voltage regulator, resets the CC2420, turns on the crystal oscillator, writes all necessary
  51:../../../lib/basic_rf/basic_rf_init.c **** //		registers and protocol addresses (for automatic address recognition). Note that the crystal
  52:../../../lib/basic_rf/basic_rf_init.c **** //		oscillator will remain on (forever).
  53:../../../lib/basic_rf/basic_rf_init.c **** //
  54:../../../lib/basic_rf/basic_rf_init.c **** //  ARGUMENTS:
  55:../../../lib/basic_rf/basic_rf_init.c **** //      BASIC_RF_RX_INFO *pRRI
  56:../../../lib/basic_rf/basic_rf_init.c **** //          A pointer the BASIC_RF_RX_INFO data structure to be used during the first packet recept
  57:../../../lib/basic_rf/basic_rf_init.c **** //			The structure can be switched upon packet reception.
  58:../../../lib/basic_rf/basic_rf_init.c **** //      UINT8 channel
  59:../../../lib/basic_rf/basic_rf_init.c **** //          The RF channel to be used (11 = 2405 MHz to 26 = 2480 MHz)
  60:../../../lib/basic_rf/basic_rf_init.c **** //      WORD panId
  61:../../../lib/basic_rf/basic_rf_init.c **** //          The personal area network identification number
  62:../../../lib/basic_rf/basic_rf_init.c **** //      WORD myAddr
  63:../../../lib/basic_rf/basic_rf_init.c **** //          The 16-bit short address which is used by this node. Must together with the PAN ID form
  64:../../../lib/basic_rf/basic_rf_init.c **** //			unique 32-bit identifier to avoid addressing conflicts. Normally, in a 802.15.4 network, the
  65:../../../lib/basic_rf/basic_rf_init.c **** //			short address will be given to associated nodes by the PAN coordinator.
  66:../../../lib/basic_rf/basic_rf_init.c **** //-------------------------------------------------------------------------------------------------
  67:../../../lib/basic_rf/basic_rf_init.c **** void basicRfInit(BASIC_RF_RX_INFO *pRRI, UINT8 channel, WORD panId, WORD myAddr) {
  98               	.LM1:
  99               	/* prologue: frame size=4 */
 100 0000 FF92      		push r15
 101 0002 0F93      		push r16
 102 0004 1F93      		push r17
 103 0006 CF93      		push r28
 104 0008 DF93      		push r29
 105 000a CDB7      		in r28,__SP_L__
 106 000c DEB7      		in r29,__SP_H__
 107 000e 2497      		sbiw r28,4
 108 0010 0FB6      		in __tmp_reg__,__SREG__
 109 0012 F894      		cli
 110 0014 DEBF      		out __SP_H__,r29
 111 0016 0FBE      		out __SREG__,__tmp_reg__
 112 0018 CDBF      		out __SP_L__,r28
 113               	/* prologue end (size=13) */
 114 001a 8C01      		movw r16,r24
 115 001c F62E      		mov r15,r22
 116 001e 4B83      		std Y+3,r20
 117 0020 5C83      		std Y+4,r21
 118 0022 2983      		std Y+1,r18
 119 0024 3A83      		std Y+2,r19
  68:../../../lib/basic_rf/basic_rf_init.c ****     UINT8 n;
  69:../../../lib/basic_rf/basic_rf_init.c **** 
  70:../../../lib/basic_rf/basic_rf_init.c ****     // Make sure that the voltage regulator is on, and that the reset pin is inactive
  71:../../../lib/basic_rf/basic_rf_init.c ****     SET_VREG_ACTIVE();
 121               	.LM2:
 122 0026 C59A      		sbi 56-0x20,5
  72:../../../lib/basic_rf/basic_rf_init.c ****     halWait(1000);
 124               	.LM3:
 125 0028 88EE      		ldi r24,lo8(1000)
 126 002a 93E0      		ldi r25,hi8(1000)
 127 002c 0E94 0000 		call halWait
  73:../../../lib/basic_rf/basic_rf_init.c ****     SET_RESET_ACTIVE();
 129               	.LM4:
 130 0030 C698      		cbi 56-0x20,6
  74:../../../lib/basic_rf/basic_rf_init.c ****     halWait(1);
 132               	.LM5:
 133 0032 81E0      		ldi r24,lo8(1)
 134 0034 90E0      		ldi r25,hi8(1)
 135 0036 0E94 0000 		call halWait
  75:../../../lib/basic_rf/basic_rf_init.c ****     SET_RESET_INACTIVE();
 137               	.LM6:
 138 003a C69A      		sbi 56-0x20,6
  76:../../../lib/basic_rf/basic_rf_init.c ****     halWait(5);
 140               	.LM7:
 141 003c 85E0      		ldi r24,lo8(5)
 142 003e 90E0      		ldi r25,hi8(5)
 143 0040 0E94 0000 		call halWait
  77:../../../lib/basic_rf/basic_rf_init.c **** 
  78:../../../lib/basic_rf/basic_rf_init.c ****     // Initialize the FIFOP external interrupt
  79:../../../lib/basic_rf/basic_rf_init.c ****     FIFOP_INT_INIT();
 145               	.LM8:
 146 0044 8091 6A00 		lds r24,106
 147 0048 8360      		ori r24,lo8(3)
 148 004a 8093 6A00 		sts 106,r24
 149 004e 81E0      		ldi r24,lo8(1)
 150 0050 88BF      		out 88-0x20,r24
  80:../../../lib/basic_rf/basic_rf_init.c ****     ENABLE_FIFOP_INT();
 152               	.LM9:
 153 0052 89B7      		in r24,89-0x20
 154 0054 8160      		ori r24,lo8(1)
 155 0056 89BF      		out 89-0x20,r24
  81:../../../lib/basic_rf/basic_rf_init.c **** 
  82:../../../lib/basic_rf/basic_rf_init.c ****     // Turn off all interrupts while we're accessing the CC2420 registers
  83:../../../lib/basic_rf/basic_rf_init.c **** 	DISABLE_GLOBAL_INT();
 157               	.LM10:
 158               	/* #APP */
 159 0058 F894      		cli
 160               		
  84:../../../lib/basic_rf/basic_rf_init.c **** 
  85:../../../lib/basic_rf/basic_rf_init.c **** 
  86:../../../lib/basic_rf/basic_rf_init.c ****     // Register modifications
  87:../../../lib/basic_rf/basic_rf_init.c ****     FASTSPI_STROBE(CC2420_SXOSCON);
 162               	.LM11:
 163               	/* #NOAPP */
 164 005a C098      		cbi 56-0x20,0
 165 005c 81E0      		ldi r24,lo8(1)
 166 005e 8FB9      		out 47-0x20,r24
 167               	.L9:
 169               	.LM12:
 170 0060 779B      		sbis 46-0x20,7
 171 0062 FECF      		rjmp .L9
 172 0064 C09A      		sbi 56-0x20,0
  88:../../../lib/basic_rf/basic_rf_init.c ****     FASTSPI_SETREG(CC2420_MDMCTRL0, 0x0AF2); // Turn on automatic packet acknowledgment
 174               	.LM13:
 175 0066 C098      		cbi 56-0x20,0
 176 0068 81E1      		ldi r24,lo8(17)
 177 006a 8FB9      		out 47-0x20,r24
 178               	.L15:
 179 006c 779B      		sbis 46-0x20,7
 180 006e FECF      		rjmp .L15
 181 0070 8AE0      		ldi r24,lo8(10)
 182 0072 8FB9      		out 47-0x20,r24
 183               	.L20:
 184 0074 779B      		sbis 46-0x20,7
 185 0076 FECF      		rjmp .L20
 186 0078 82EF      		ldi r24,lo8(-14)
 187 007a 8FB9      		out 47-0x20,r24
 188               	.L25:
 189 007c 779B      		sbis 46-0x20,7
 190 007e FECF      		rjmp .L25
 191 0080 C09A      		sbi 56-0x20,0
  89:../../../lib/basic_rf/basic_rf_init.c ****     FASTSPI_SETREG(CC2420_MDMCTRL1, 0x0500); // Set the correlation threshold = 20
 193               	.LM14:
 194 0082 C098      		cbi 56-0x20,0
 195 0084 82E1      		ldi r24,lo8(18)
 196 0086 8FB9      		out 47-0x20,r24
 197               	.L31:
 198 0088 779B      		sbis 46-0x20,7
 199 008a FECF      		rjmp .L31
 200 008c 85E0      		ldi r24,lo8(5)
 201 008e 8FB9      		out 47-0x20,r24
 202               	.L36:
 203 0090 779B      		sbis 46-0x20,7
 204 0092 FECF      		rjmp .L36
 205 0094 1FB8      		out 47-0x20,__zero_reg__

⌨️ 快捷键说明

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