📄 demotx.lst
字号:
C51 COMPILER V7.06 DEMOTX 04/13/2005 12:55:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE DEMOTX
OBJECT MODULE PLACED IN demotx.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE demotx.c OMF2 BROWSE INCDIR(..\..\..\..\Include;..\..\..\..\lib) DEFINE(FRE
-Q433) DEBUG
stmt level source
1
2
3 #include <chipcon/cc1010eb.h>
4 #include <chipcon/cul.h>
5 #include <stdlib.h>
6
7 #define TEST_DATA_LENGTH 128 //包长度
8 #define INT8U unsigned char
9
10 #define MY_ADDRESS 3 //我的地址
11 #define DEST_ADDRESS 3 //目标地址0
12 void DelayUs(unsigned int dd);
13 void SendUART0(INT8U ch);
14
15 SPP_SETTINGS xdata sppSettings;
16
17 unsigned int TIME0 = 0; //定时器
18
19 /*****************************************************************************
20 主程序
21 *****************************************************************************/
22 void main() {
23 1
24 1 // int n;
25 1 unsigned int ii;
26 1 SPP_RX_INFO xdata RXI;
27 1 SPP_TX_INFO xdata TXI;
28 1 byte xdata pRXData[TEST_DATA_LENGTH];
29 1 byte xdata pTXData[TEST_DATA_LENGTH] = {"成都无线龙通讯科技有限责任公司\nCC1010仿真测试软件\n"};
30 1
31 1
32 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
0x40, // PLL_RX
0x30, // PLL_TX
0x6C, // CURRENT_RX
0xF3, // CURRENT_TX
0x32, // FREND
0xFF, // PA_POW
C51 COMPILER V7.06 DEMOTX 04/13/2005 12:55:53 PAGE 2
0x00, // MATCH
0x00, // PRESCALER
};
#endif
60 1
61 1 #ifdef FREQ915
// X-tal frequency: 14.745600 MHz
// RF frequency A: 915.027455 MHz Rx
// RF frequency B: 915.027455 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
0xAA, 0x80, 0x00, // Freq A
0x5C, 0xF4, 0x02, // Freq B
0x01, 0xAB, // FSEP 1 and 0
0x58, // PLL_RX
0x30, // PLL_TX
0x6C, // CURRENT_RX
0xF3, // CURRENT_TX
0x32, // FREND
0xFF, // PA_POW
0x00, // MATCH
0x00, // PRESCALER
};
#endif
90 1
91 1 #ifdef FREQ433
92 1
93 1
94 1 // X-tal frequency: 14.745600 MHz
95 1 // RF frequency A: 433.302000 MHz Rx
96 1 // RF frequency B: 433.302000 MHz Tx
97 1 // RX Mode: Low side LO
98 1 // Frequency separation: 64 kHz
99 1 // Data rate: 19.2 kBaud
100 1 // Data Format: NRZ
101 1 // RF output power: 10 dBm
102 1 // IF/RSSI: RSSI Enabled
103 1
104 1 RF_RXTXPAIR_SETTINGS code RF_SETTINGS = {
105 1 0xA3, 0x2F, 0x0E, // Modem 0, 1 and 2
106 1 0x58, 0x00, 0x00, // Freq A
107 1 0x41, 0xFC, 0x9C, // Freq B
108 1 0x02, 0x80, // FSEP 1 and 0
109 1 0x60, // PLL_RX
110 1 0x48, // PLL_TX
111 1 0x44, // CURRENT_RX
112 1 0x81, // CURRENT_TX
113 1 0x0A, // FREND
114 1 0xFF, // PA_POW
115 1 0xC0, // MATCH
116 1 0x00, // PRESCALER
C51 COMPILER V7.06 DEMOTX 04/13/2005 12:55:53 PAGE 3
117 1 };
118 1
119 1 #endif
120 1
121 1
122 1 // Calibration data
123 1 RF_RXTXPAIR_CALDATA xdata RF_CALDATA;
124 1
125 1
126 1 // Startup macros for speed and low power consumption
127 1 MEM_NO_WAIT_STATES();
128 1 FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
129 1
130 1 // Initialize peripherals
131 1 WDT_ENABLE(FALSE);
132 1 RLED_OE(TRUE);
133 1 YLED_OE(TRUE);
134 1 GLED_OE(TRUE);
135 1 BLED_OE(TRUE);
136 1
137 1
138 1 EA = 1;
139 1 ET0 = 1;
140 1 TH0 = 0x10;
141 1 TL0 = 0x00;
142 1 TR0 = 1;
143 1 TIME0 = 0;
144 1
145 1 while(TIME0 < 200){ //闪动10秒
146 2
147 2 halWait(500, CC1010EB_CLKFREQ); //延时
148 2 RLED = LED_OFF;
149 2 halWait(500, CC1010EB_CLKFREQ); //延时
150 2 RLED = LED_ON;
151 2 }
152 1
153 1 // Set optimum settings for speed and low power consumption
154 1 MEM_NO_WAIT_STATES();
155 1 FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_READS);
156 1
157 1 // Local settings
158 1 sppSettings.myAddress = MY_ADDRESS;
159 1 sppSettings.rxTimeout = 30;
160 1 sppSettings.txAckTimeout = 2;
161 1 sppSettings.txAttempts = 4;
162 1 sppSettings.txPreambleByteCount = 7;
163 1
164 1 // RF setup
165 1 sppSetupRF(&RF_SETTINGS, &RF_CALDATA, CC1010EB_CLKFREQ, TRUE);
166 1
167 1
168 1 // Prepare TX data
169 1 // srand(0x1234);
170 1 // for (n = 0; n < TEST_DATA_LENGTH; n++) {
171 1 // pTXData[n] = rand();
172 1 // }
173 1
174 1 TXI.flags = 0x00;
175 1
176 1 // Test loop:
177 1
178 1
C51 COMPILER V7.06 DEMOTX 04/13/2005 12:55:53 PAGE 4
179 1 // 准备传送
180 1 TIME0 = 0;
181 1
182 1 while(TIME0 < 2400){ //发送30秒
183 2
184 2 TXI.destination = DEST_ADDRESS;
185 2 TXI.flags &= ~SPP_ACK_REQ; //不要求回送
186 2 TXI.pDataBuffer = pTXData;
187 2 TXI.dataLen = TEST_DATA_LENGTH;
188 2
189 2 if (sppSend(&TXI) == SPP_TX_STARTED) {
190 3
191 3 while (SPP_STATUS() != SPP_IDLE_MODE); //等待
192 3
193 3 if (TXI.status == SPP_TX_ACK_INVALID) {
194 4
195 4 //RLED = LED_ON;
196 4 }
197 3 else if (TXI.status == SPP_TX_ACK_TIMEOUT) {
198 4
199 4 // YLED = LED_ON;
200 4 } else if (TXI.status == SPP_TX_FINISHED) {
201 4
202 4 YLED = LED_ON;
203 4 }
204 3 }
205 2
206 2 halWait(20, CC1010EB_CLKFREQ); //延时
207 2 // GLED = LED_OFF; //关闭指示灯
208 2 // RLED = LED_OFF;
209 2 YLED = LED_OFF;
210 2 // BLED = LED_OFF;
211 2 }
212 1 YLED = LED_ON;
213 1 while (TRUE) { //进入接收循环
214 2 // 准备接收
215 2 RXI.pDataBuffer = pRXData;
216 2 RXI.maxDataLen = TEST_DATA_LENGTH;
217 2 if (sppReceive(&RXI) == SPP_RX_STARTED) {
218 3
219 3 do { /* nothing */ } while (SPP_STATUS() != SPP_IDLE_MODE);
220 3 if (RXI.status == SPP_RX_TIMEOUT) {
221 4 // YLED = LED_ON;
222 4 }
223 3 else if (RXI.status == SPP_RX_TOO_LONG) {
224 4 // RLED = LED_ON;
225 4 }
226 3 else if (RXI.status == SPP_RX_FINISHED) {
227 4 GLED = LED_ON;
228 4 for(ii = 0 ; ii < TEST_DATA_LENGTH ; ii++){
229 5 SendUART0(pRXData[ii]);
230 5
231 5 }
232 4 if (RXI.flags & SPP_SEQUENCE_BIT) {
233 5 BLED = LED_ON;
234 5 }
235 4 }
236 3 }
237 2
238 2 // Wait, then turn off LEDs
239 2 halWait(20, CC1010EB_CLKFREQ);
240 2 GLED = LED_OFF;
C51 COMPILER V7.06 DEMOTX 04/13/2005 12:55:53 PAGE 5
241 2 //RLED = LED_OFF;
242 2 // YLED = LED_OFF;
243 2
244 2 }
245 1 }
246 //串口发送程序
247 void SendUART0(INT8U ch){
248 1 ES = 0;
249 1 SBUF0 = ch;
250 1 while(!TI);
251 1 TI = 0;
252 1 ES = 1;
253 1 }
254
255 void init_timer0(void) interrupt 1
256 {
257 1 TIME0 += 1;
258 1 TH0 = 0x10;
259 1 TL0 = 0x00;
260 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 402 ----
CONSTANT SIZE = 147 ----
XDATA SIZE = 7 272
PDATA SIZE = ---- ----
DATA SIZE = 2 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -