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

📄 demorx.lst

📁 无线龙ZigBee模块CC1010的接收-发送程序。
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   DEMORX                                                                11/23/2004 20:23:31 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE DEMORX
OBJECT MODULE PLACED IN demorx.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE demorx.c OMF2 BROWSE INCDIR(..\..\..\..\Include;..\..\..\..\lib) DEFINE(FRE
                    -Q915) DEBUG SYMBOLS

stmt level    source

   1          
   2          
   3          #include <chipcon/cc1010eb.h>
   4          #include <chipcon/cul.h>
   5          #include <stdlib.h> 
   6          #include <hal.h>
   7          
   8          
   9          #define INT8U unsigned char
  10          #define INT16U unsigned char
  11          
  12          
  13          
  14          
  15          #define TEST_DATA_LENGTH    128
  16          
  17          #define MY_ADDRESS          3
  18          #define DEST_ADDRESS        3
  19          
  20          
  21          void SendUART0(INT8U ch);
  22          byte halTimer1Usage;
  23          SPP_SETTINGS xdata sppSettings;
  24          
  25          /*****************************************************************************
  26                  主程序
  27          *****************************************************************************/
  28          void main() {
  29   1      
  30   1              INT8U ii;
  31   1          INT8U n;
  32   1          SPP_RX_INFO xdata RXI;
  33   1          SPP_TX_INFO xdata TXI;
  34   1          byte xdata pRXData[TEST_DATA_LENGTH];
  35   1          byte xdata pTXData[TEST_DATA_LENGTH];
  36   1      
  37   1      
  38   1      #ifdef FREQ868
              
              // X-tal frequency: 14.745600 MHz
              // RF frequency A: 868.277200 MHz       Rx
              // RF frequency B: 868.277200 MHz       Tx
              // RX Mode: Low side LO
              // Frequency separation: 64 kHz
              // Data rate: 19.2 kBaud
              // Data Format: NRZ
              // RF output power: 4 dBm
              // IF/RSSI: RSSI Enabled
              
              RF_RXTXPAIR_SETTINGS code RF_SETTINGS = {
                  0xA3, 0x2F, 0x15,    // Modem 0, 1 and 2
                  0x75, 0xA0, 0x00,    // Freq A
                  0x58, 0x32, 0x8D,    // Freq B
                  0x01, 0xAB,          // FSEP 1 and 0
C51 COMPILER V7.06   DEMORX                                                                11/23/2004 20:23:31 PAGE 2   

                  0x40,                // PLL_RX
                  0x30,                // PLL_TX
                  0x6C,                // CURRENT_RX
                  0xF3,                // CURRENT_TX
                  0x32,                // FREND
                  0xFF,                // PA_POW
                  0x00,                // MATCH
                  0x00,                // PRESCALER
                  };
              
              #endif
  66   1      
  67   1      #ifdef FREQ915
  68   1      
  69   1      // X-tal frequency: 14.745600 MHz
  70   1      // RF frequency A: 915.027455 MHz       Rx
  71   1      // RF frequency B: 915.027455 MHz       Tx
  72   1      // RX Mode: Low side LO
  73   1      // Frequency separation: 64 kHz
  74   1      // Data rate: 19.2 kBaud
  75   1      // Data Format: NRZ
  76   1      // RF output power: 4 dBm
  77   1      // IF/RSSI: RSSI Enabled
  78   1      
  79   1      RF_RXTXPAIR_SETTINGS code RF_SETTINGS = {
  80   1          0xA3, 0x2F, 0x15,    // Modem 0, 1 and 2
  81   1          0xAA, 0x80, 0x00,    // Freq A
  82   1          0x5C, 0xF4, 0x02,    // Freq B
  83   1          0x01, 0xAB,          // FSEP 1 and 0
  84   1          0x58,                // PLL_RX
  85   1          0x30,                // PLL_TX
  86   1          0x6C,                // CURRENT_RX
  87   1          0xF3,                // CURRENT_TX
  88   1          0x32,                // FREND
  89   1          0xFF,                // PA_POW
  90   1          0x00,                // MATCH
  91   1          0x00,                // PRESCALER
  92   1          };
  93   1      
  94   1      
  95   1      #endif
  96   1      
  97   1      #ifdef FREQ433
              
              
              // X-tal frequency: 14.745600 MHz
              // RF frequency A: 433.302000 MHz       Rx
              // RF frequency B: 433.302000 MHz       Tx
              // RX Mode: Low side LO
              // Frequency separation: 64 kHz
              // Data rate: 19.2 kBaud
              // Data Format: NRZ
              // RF output power: 10 dBm
              // IF/RSSI: RSSI Enabled
              
              RF_RXTXPAIR_SETTINGS code RF_SETTINGS = {
                  0xA3, 0x2F, 0x0E,    // Modem 0, 1 and 2
                  0x58, 0x00, 0x00,    // Freq A
                  0x41, 0xFC, 0x9C,    // Freq B
                  0x02, 0x80,          // FSEP 1 and 0
                  0x60,                // PLL_RX
                  0x48,                // PLL_TX
C51 COMPILER V7.06   DEMORX                                                                11/23/2004 20:23:31 PAGE 3   

                  0x44,                // CURRENT_RX
                  0x81,                // CURRENT_TX
                  0x0A,                // FREND
                  0xFF,                // PA_POW
                  0xC0,                // MATCH
                  0x00,                // PRESCALER
                  };
              
              #endif
 126   1      
 127   1      
 128   1          // Calibration data
 129   1          RF_RXTXPAIR_CALDATA xdata RF_CALDATA;
 130   1      
 131   1      
 132   1          // Startup macros for speed and low power consumption
 133   1          MEM_NO_WAIT_STATES();
 134   1          FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
 135   1          
 136   1          
 137   1          // Initialize peripherals
 138   1          WDT_ENABLE(FALSE);
 139   1          RLED_OE(TRUE);
 140   1          YLED_OE(TRUE);
 141   1          GLED_OE(TRUE);
 142   1          BLED_OE(TRUE);
 143   1      
 144   1          // Set optimum settings for speed and low power consumption
 145   1          MEM_NO_WAIT_STATES();
 146   1          FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
 147   1      
 148   1              UART0_SETUP(9600, CC1010EB_CLKFREQ, UART_NO_PARITY | UART_RX_TX | UART_ISR);
 149   1      
 150   1          // Local settings
 151   1          sppSettings.myAddress = MY_ADDRESS;
 152   1          sppSettings.rxTimeout = 30;
 153   1          sppSettings.txAckTimeout = 2;
 154   1          sppSettings.txAttempts = 4;
 155   1          sppSettings.txPreambleByteCount = 7;
 156   1      
 157   1          // RF setup
 158   1          sppSetupRF(&RF_SETTINGS, &RF_CALDATA, CC1010EB_CLKFREQ, TRUE);
 159   1      
 160   1          // Prepare TX data
 161   1          srand(0x1234);
 162   1          for (n = 0; n < TEST_DATA_LENGTH; n++) { 
 163   2              pTXData[n] = rand();
 164   2          }
 165   1      
 166   1          TXI.flags = 0x00;
 167   1          
 168   1          while (TRUE) {                              //进入接收循环
 169   2      
 170   2      
 171   2                  // 准备接收
 172   2             RXI.pDataBuffer = pRXData;
 173   2             RXI.maxDataLen = TEST_DATA_LENGTH;                       
 174   2             if (sppReceive(&RXI) == SPP_RX_STARTED) {
 175   3                     
 176   3                 do { /* nothing */ } while (SPP_STATUS() != SPP_IDLE_MODE);
 177   3                      if (RXI.status == SPP_RX_TIMEOUT) {
 178   4                          YLED = LED_ON;
C51 COMPILER V7.06   DEMORX                                                                11/23/2004 20:23:31 PAGE 4   

 179   4                      }
 180   3                                  else if (RXI.status == SPP_RX_TOO_LONG) {
 181   4                          RLED = LED_ON;
 182   4                      }
 183   3                                  else if (RXI.status == SPP_RX_FINISHED) {
 184   4                          GLED = LED_ON;
 185   4                                              for(ii = 0 ; ii < TEST_DATA_LENGTH ; ii++){
 186   5                                                      SendUART0(pRXData[ii]);
 187   5      
 188   5                                              }                    
 189   4                                              if (RXI.flags & SPP_SEQUENCE_BIT) {
 190   5                                                              BLED = LED_ON;
 191   5                                              }
 192   4                  } 
 193   3              }
 194   2              
 195   2      
 196   2              // Wait, then turn off LEDs

⌨️ 快捷键说明

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