📄 demorx.lst
字号:
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 + -