📄 cc1100-cc2500.lst
字号:
C51 COMPILER V7.06 CC1100_CC2500 02/03/2009 16:53:57 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE CC1100_CC2500
OBJECT MODULE PLACED IN CC1100-CC2500.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CC1100-CC2500.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //----------------------------------------------------------------------------
2 // Description: This file contains functions that configure the CC1100/2500
3 // device.
4 //
5 // Demo Application for MSP430/CC1100-2500 Interface Code Library v1.0
6 //
7 // K. Quiring
8 // Texas Instruments, Inc.
9 // July 2006
10 // IAR Embedded Workbench v3.41
11 //----------------------------------------------------------------------------
12
13
14 #include "include.h"
15 #include "TI_CC_CC1100-CC2500.h"
16
17 #define TI_CC_RF_FREQ 433 //433 , 868, 915, 2400 无线频率设置
18 #define RF_RATR 250000 //无线速率设置CC1100(对应433)有1200、2400、10000、76800、250000
19 // CC2500(对应2400)有2400、10000、250000、500000
20
21 //-------------------------------------------------------------------------------------------------------
22 // void writeRFSettings(void)
23 //
24 // DESCRIPTION:
25 // Used to configure the CCxxxx registers. There are five instances of this
26 // function, one for each available carrier frequency. The instance compiled
27 // is chosen according to the system variable TI_CC_RF_FREQ, assigned within
28 // the header file "TI_CC_hardware_board.h".
29 //
30 // ARGUMENTS:
31 // none
32 //-------------------------------------------------------------------------------------------------------
33
34
35 #if TI_CC_RF_FREQ == 315 // 315 MHz
// Product = CC1100
// Crystal accuracy = 40 ppm
// X-tal frequency = 26 MHz
// RF output power = 0 dBm
// RX filterbandwidth = 540.000000 kHz
// Deviation = 0.000000
// Return state: Return to RX state upon leaving either TX or RX
// Datarate = 250.000000 kbps
// Modulation = (7) MSK
// Manchester enable = (0) Manchester disabled
// RF Frequency = 315.000000 MHz
// Channel spacing = 199.951172 kHz
// Channel number = 0
// Optimization = Sensitivity
// Sync mode = (3) 30/32 sync word bits detected
// Format of RX/TX data = (0) Normal mode, use FIFOs for RX and TX
// CRC operation = (1) CRC calculation in TX and CRC check in RX enabled
// Forward Error Correction = (0) FEC disabled
// Length configuration = (1) Variable length packets, packet length configured by the first received byte
- after sync word.
C51 COMPILER V7.06 CC1100_CC2500 02/03/2009 16:53:57 PAGE 2
// Packetlength = 255
// Preamble count = (2) 4 bytes
// Append status = 1
// Address check = (1) address check
// FIFO autoflush = 0
// Device address = 1
// GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end
- of the packet
// GDO2 signal selection = (11) Serial Clock
void writeRFSettings(void)
{
// Write register settings
TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2, 0x0B); // GDO2 output pin config.
TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0, 0x06); // GDO0 output pin config.
TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN, 0xFF); // Packet length.
TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1, 0x05); // Packet automation control.
TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0, 0x05); // Packet automation control.
TI_CC_SPIWriteReg(TI_CCxxx0_ADDR, 0x01); // Device address.
TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR, 0x00); // Channel number.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1, 0x0B); // Freq synthesizer control.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0, 0x00); // Freq synthesizer control.
TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2, 0x0C); // Freq control word, high byte
TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1, 0x1D); // Freq control word, mid byte.
TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0, 0x89); // Freq control word, low byte.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4, 0x2D); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3, 0x3B); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2, 0x73); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1, 0x22); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0, 0xF8); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN, 0x00); // Modem dev (when FSK mod en)
TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1 , 0x3F); //MainRadio Cntrl State Machine
TI_CC_SPIWriteReg(TI_CCxxx0_MCSM0 , 0x18); //MainRadio Cntrl State Machine
TI_CC_SPIWriteReg(TI_CCxxx0_FOCCFG, 0x1D); // Freq Offset Compense. Config
TI_CC_SPIWriteReg(TI_CCxxx0_BSCFG, 0x1C); // Bit synchronization config.
TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL2, 0xC7); // AGC control.
TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL1, 0x00); // AGC control.
TI_CC_SPIWriteReg(TI_CCxxx0_AGCCTRL0, 0xB2); // AGC control.
TI_CC_SPIWriteReg(TI_CCxxx0_FREND1, 0xB6); // Front end RX configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_FREND0, 0x10); // Front end RX configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL3, 0xEA); // Frequency synthesizer cal.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL2, 0x0A); // Frequency synthesizer cal.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL1, 0x00); // Frequency synthesizer cal.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCAL0, 0x11); // Frequency synthesizer cal.
TI_CC_SPIWriteReg(TI_CCxxx0_FSTEST, 0x59); // Frequency synthesizer cal.
TI_CC_SPIWriteReg(TI_CCxxx0_TEST2, 0x88); // Various test settings.
TI_CC_SPIWriteReg(TI_CCxxx0_TEST1, 0x31); // Various test settings.
TI_CC_SPIWriteReg(TI_CCxxx0_TEST0, 0x0B); // Various test settings.
}
// PATABLE (0 dBm output power)
extern char paTable[] = {0x51};
extern char paTableLen = 1;
#endif
108
109
110 #if TI_CC_RF_FREQ == 433 // 433 MHz
111 // Product = CC1100
112 // Crystal accuracy = 40 ppm
113 // X-tal frequency = 26 MHz
114 // RF output power = 0 dBm
115 // RX filterbandwidth = 540.000000 kHz
C51 COMPILER V7.06 CC1100_CC2500 02/03/2009 16:53:57 PAGE 3
116 // Deviation = 0.000000
117 // Return state: Return to RX state upon leaving either TX or RX
118 // Datarate = 250.000000 kbps
119 // Modulation = (7) MSK
120 // Manchester enable = (0) Manchester disabled
121 // RF Frequency = 433.000000 MHz
122 // Channel spacing = 199.951172 kHz
123 // Channel number = 0
124 // Optimization = Sensitivity
125 // Sync mode = (3) 30/32 sync word bits detected
126 // Format of RX/TX data = (0) Normal mode, use FIFOs for RX and TX
127 // CRC operation = (1) CRC calculation in TX and CRC check in RX enabled
128 // Forward Error Correction = (0) FEC disabled
129 // Length configuration = (1) Variable length packets, packet length configured by the first received byte
- after sync word.
130 // Packetlength = 255
131 // Preamble count = (2) 4 bytes
132 // Append status = 1
133 // Address check = (0) No address check
134 // FIFO autoflush = 0
135 // Device address = 0
136 // GDO0 signal selection = ( 6) Asserts when sync word has been sent / received, and de-asserts at the end
- of the packet
137 // GDO2 signal selection = (11) Serial Clock
138 void writeRFSettings(void)
139 {
140 1 #if RF_RATR==1200
TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG2, 0x06); // GDO2 output pin config.data
TI_CC_SPIWriteReg(TI_CCxxx0_IOCFG0, 0x06); // GDO0 output pin config.clk
TI_CC_SPIWriteReg(TI_CCxxx0_PKTLEN, 0x3D); // Packet length.
TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL1, 0x05); // Packet automation control.
TI_CC_SPIWriteReg(TI_CCxxx0_PKTCTRL0, 0x05); // Packet automation control.
TI_CC_SPIWriteReg(TI_CCxxx0_ADDR, 0x00); // Device address.
TI_CC_SPIWriteReg(TI_CCxxx0_CHANNR, 0x00); // Channel number.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL1, 0x06); // Freq synthesizer control.
TI_CC_SPIWriteReg(TI_CCxxx0_FSCTRL0, 0x00); // Freq synthesizer control.
TI_CC_SPIWriteReg(TI_CCxxx0_FREQ2, 0x10); // Freq control word, high byte
TI_CC_SPIWriteReg(TI_CCxxx0_FREQ1, 0xA7); // Freq control word, mid byte.
TI_CC_SPIWriteReg(TI_CCxxx0_FREQ0, 0x62); // Freq control word, low byte.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG4, 0xF5); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG3, 0x83); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG2, 0x83); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG1, 0x22); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_MDMCFG0, 0xF8); // Modem configuration.
TI_CC_SPIWriteReg(TI_CCxxx0_DEVIATN, 0x15); // Modem dev (when FSK mod en)
TI_CC_SPIWriteReg(TI_CCxxx0_MCSM1 , 0x3F); //MainRadio Cntrl State Machine
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -