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

📄 cc1100-cc2500.lst

📁 8051f340实现cc1100软件SPI的正常数据收发
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -