📄 pic4620_rf.lst
字号:
* Revision 1.3 2004/03/30 14:59:35 mbr E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
* Release for web E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
* E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
* E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
* E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
*******************************************************************************************************/ E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
#include <include.h> E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
//------------------------------------------------------------------------------------------------------- E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// void rfWaitForCrystalOscillator(void) E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// DESCRIPTION: E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// Waits for the crystal oscillator to become stable. The flag is polled via the SPI status byte. E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// Note that this function will lock up if the SXOSCON command strobe has not been given before the E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// function call. Also note that global interrupts will always be enabled when this function E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// returns. E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
//------------------------------------------------------------------------------------------------------- E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000d80 cfd9 MOVFF 0xfd9,0xfe6 void halRfWaitForCrystalOscillator(void) { E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000d82 ffe6
000d84 cfe1 MOVFF 0xfe1,0xfd9
000d86 ffd9
000d88 52e6 MOVF 0xe6,0x1,0x0
BYTE spiStatusByte; E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
// Poll the SPI status byte until the crystal oscillator is stable E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
do { E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000d8a 9ef2 BCF 0xf2,0x7,0x0 DISABLE_GLOBAL_INT(); E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000d8c 9cf2 BCF 0xf2,0x6,0x0
000d8e 908b BCF 0x8b,0x0,0x0 FASTSPI_UPD_STATUS(spiStatusByte); E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000d90 6ac9 CLRF 0xc9,0x0
000d92 a69e BTFSS 0x9e,0x3,0x0
000d94 d7fe BRA 0xd92
000d96 969e BCF 0x9e,0x3,0x0
000d98 50c9 MOVF 0xc9,0x0,0x0
000d9a 6edf MOVWF 0xdf,0x0
000d9c 808b BSF 0x8b,0x0,0x0
000d9e 8ef2 BSF 0xf2,0x7,0x0 ENABLE_GLOBAL_INT(); E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000da0 8cf2 BSF 0xf2,0x6,0x0
000da2 acdf BTFSS 0xdf,0x6,0x0 } while (!(spiStatusByte & (BM(CC2420_XOSC16M_STABLE)))); E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000da4 d7f2 BRA 0xd8a
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000da6 52e5 MOVF 0xe5,0x1,0x0 } // halRfWaitForCrystalOscillator E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
000da8 52e5 MOVF 0xe5,0x1,0x0
000daa cfe7 MOVFF 0xfe7,0xfd9
000dac ffd9
000dae 0012 RETURN 0x0
E:\2420\LAB\remote_device\rf_rx\lib\crystal_oscillator.c
#include <include.h> E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
//------------------------------------------------------------------------------------------------------- E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// The RF settings structure is declared here, since we'll always need halRfInit() E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
volatile BASIC_RF_SETTINGS rfSettings; E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
//------------------------------------------------------------------------------------------------------- E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
extern void halWait(UINT16 timeout); E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
extern void halRfWaitForCrystalOscillator(void); E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
extern void halRfSetChannel(UINT8 channel); E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
//------------------------------------------------------------------------------------------------------- E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// void basicRfInit(BASIC_RF_RX_INFO *pRRI, UINT8 channel, WORD panId, WORD myAddr) E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// DESCRIPTION: E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// Initializes CC2420 for radio communication via the basic RF library functions. Turns on the E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// voltage regulator, resets the CC2420, turns on the crystal oscillator, writes all necessary E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// registers and protocol addresses (for automatic address recognition). Note that the crystal E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// oscillator will remain on (forever). E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// ARGUMENTS: E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// BASIC_RF_RX_INFO *pRRI E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// A pointer the BASIC_RF_RX_INFO data structure to be used during the first packet reception. E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// The structure can be switched upon packet reception. E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// UINT8 channel E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// The RF channel to be used (11 = 2405 MHz to 26 = 2480 MHz) E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// WORD panId E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// The personal area network identification number E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// WORD myAddr E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// The 16-bit short address which is used by this node. Must together with the PAN ID form a E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// unique 32-bit identifier to avoid addressing conflicts. Normally, in a 802.15.4 network, the E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
// short address will be given to associated nodes by the PAN coordinator. E:\2420\LAB\remote_device\rf_rx\lib\rf_init.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -