📄 spi.lst
字号:
187 3 case 0x0d: P0 = 0xa1; break;
188 3 case 0x0e: P0 = 0x86; break;
189 3 case 0x0f: P0 = 0x8e; break;
190 3 }
191 2 for(j=0;j<100;j++) { delay5us(); }
192 2 }
193 1 for(j=0;j<10000;j++) { P1=0xff; delay5us(); }
194 1 }
195
196 void init(void) //初始化 2500
197 {
198 1 CSn=1;
199 1 SPISendByte(0x40);
200 1 SPISendByte(0x29); //00,IOCFG2
201 1 SPISendByte(0x2e); //01,IOCFG1
202 1 SPISendByte(0x06); //02,IOCFG0
203 1 SPISendByte(0x07); //03,FIFOTHR
204 1 SPISendByte(0xd3); //04,SYNC1
205 1 SPISendByte(0x91); //05 ,SYNC0
206 1 SPISendByte(0x20); //06,PKLEN ////
207 1 SPISendByte(0x0C); //07,PKTCTRL1///////////autoflush
208 1 SPISendByte(0x05); //08,PKTCRL0 //fixed length-04
209 1 SPISendByte(0x00); //09,ADDR
210 1 SPISendByte(0x00); //0a,CHANNR
211 1 SPISendByte(0x09); //0b,FSCTRL1
212 1 SPISendByte(0x00); //0c,FSCTRL0
213 1 SPISendByte(0x5d); //0d,FREQ2
214 1 SPISendByte(0x93); //0e,FREQ1
215 1 SPISendByte(0xb1); //0f,FREQ0
216 1 SPISendByte(0x2d); //10,MDMCFG4
217 1 SPISendByte(0x3b); //11,MDMCFG3
218 1 SPISendByte(0x73); //12,MDMCFG2
219 1 SPISendByte(0x22); //13,MDMCFG1
220 1 SPISendByte(0xf8); //14,MDMCFG0
221 1 SPISendByte(0x01); //15,DEVIATN
222 1 SPISendByte(0x07); //16,MCSM2
223 1 SPISendByte(0x30); //17,MCSM1
224 1 SPISendByte(0x18); //18,MCSM0
225 1 SPISendByte(0x1d); //19,FOCCFG
226 1 SPISendByte(0x1c); //1a,BSCFG
227 1 SPISendByte(0xc7); //1b,AGCCTRL2
228 1 SPISendByte(0x00); //1c,AGCCTRL1
229 1 SPISendByte(0xb2); //1d,AGCCTRL0
230 1 SPISendByte(0x87); //1e,WOREVT1
231 1 SPISendByte(0x6b); //1f,WOREVT0
232 1 SPISendByte(0xf8); //20,WORCTRL
233 1 SPISendByte(0xb6); //21,FREND1
234 1 SPISendByte(0x10); //22,FREND0
235 1 SPISendByte(0xea); //23,FSCAL3
236 1 SPISendByte(0x0a); //24,FSCAL2
237 1 SPISendByte(0x00); //25,FSCAL1
238 1 SPISendByte(0x11); //26,FSCAL0
239 1 SPISendByte(0x41); //27,RCCTRL1
240 1 SPISendByte(0x00); //28,RCCTRL0
241 1 SPISendByte(0x59); //29,FSTEST
C51 COMPILER V7.50 SPI 12/12/2006 10:05:03 PAGE 5
242 1 SPISendByte(0x7f); //2a,PTEST
243 1 SPISendByte(0x3f); //2b,AGCTST
244 1 SPISendByte(0x88); //2c,TEST2
245 1 SPISendByte(0x31); //2d,TEST1
246 1 SPISendByte(0x0d); //2e,TEST0
247 1 CSn=1;
248 1 }
249 void service_int0()interrupt 0 using 2 //中断源0
250
251 {
252 1
253 1 jindu=0;
254 1 }
255 //接受数据 调试中
256 void main(void)
257 {
258 1 uchar rec[30]={0,0,0,0,0,0,0,0,0,0};
259 1 uchar ere;
260 1
261 1 power_on();
262 1 init();
263 1 A6 = 0;
264 1 while(1)
265 1 { CSn=0;
266 2
267 2 ere = spisend_receivebyte(0x34);
268 2 LEDSHOW(ere);
269 2 // spisend_receivebyte(0x38);
270 2 while(1)
271 2 {if(A3 == 0) A2 = 0;
272 3 else
273 3 A1 = 0;
274 3 }
275 2 CSn=1;
276 2 ere = spisend_receivebyte(0xcf); //burst,rXFIFO
277 2 LEDSHOW(ere);
278 2 ere = SPIreceiveByte();
279 2
280 2 CSn = 0;
281 2 }
282 1 // LEDSHOW(rec[2]);
283 1 // rec[0] = SPIreceiveByte();
284 1 // rec[1] = SPIreceiveByte();
285 1 // rec[2] = SPIreceiveByte();
286 1 // rec[3] = SPIreceiveByte();
287 1 // rec[4] = SPIreceiveByte();
288 1 // rec[5] = SPIreceiveByte();
289 1 // rec[6] = SPIreceiveByte();
290 1 // rec[7] = SPIreceiveByte();
291 1
292 1 //spisend_receivebyte(0x35); //STX
293 1 // LEDSHOW(ere);
294 1 // LEDSHOW(rec[0]);
295 1 // LEDSHOW(rec[1]);
296 1 // LEDSHOW(rec[2]);
297 1 // LEDSHOW(rec[3]);
298 1 // LEDSHOW(rec[4]);
299 1 while(1);
300 1
301 1 }
302 /* delay5us();
303 LEDSHOW(0X00);
C51 COMPILER V7.50 SPI 12/12/2006 10:05:03 PAGE 6
304 LEDSHOW(0X00);
305 LEDSHOW(0X00);
306 LEDSHOW(0X00);
307 LEDSHOW(0X00);LEDSHOW(0X00);
308 CSn=0; A1=0 ;
309 // spisend_receivebyte(0x35);
310 // delay5us();
311 spisend_receivebyte(0x3f); //single,TXFIFO
312 //b=SPIreceiveByte();
313 spisend_receivebyte(0x05);
314 CSn=1;
315 CSn=0;
316 spisend_receivebyte(rec[0]); //burst,TXFIFO
317 spisend_receivebyte(rec[1]);
318 spisend_receivebyte(rec[2]);
319 spisend_receivebyte(rec[3]);
320 spisend_receivebyte(rec[4]);
321 //spisend_receivebyte(rec[5]);
322 CSn=1;
323 spisend_receivebyte(0x35); //STX
324 // LEDSHOW(b);
325 // for(i=0;i<255;i++)
326 // {
327 // delay5us();
328 // }
329 //LEDSHOW(b); */
330 //发送数据已通过void SPISendByte(uchar ch)uchar SPIreceiveByte()spisend_receivebyte
331 /*void main(void)
332 { uchar ere;
333 power_on();
334 init();
335 A1=0;
336 // spisend_receivebyte(0x3b); //SFTX
337 // unsigned char i;
338 CSn=0;
339 // spisend_receivebyte(0x35);
340 // delay5us();
341 spisend_receivebyte(0x3f); //single,TXFIFO
342 //b=SPIreceiveByte();
343 spisend_receivebyte(0x05);
344 CSn=1;
345 CSn=0;
346 spisend_receivebyte(0x7f); //burst,TXFIFO
347 spisend_receivebyte(0x13);
348 spisend_receivebyte(0x14);
349 spisend_receivebyte(0x15);
350 spisend_receivebyte(0x14);
351 spisend_receivebyte(0x15);
352 CSn=1;
353 ere =spisend_receivebyte(0x35); //STX
354
355 delay5us();
356 LEDSHOW(ere);
357 // LEDSHOW(b);
358 // for(i=0;i<255;i++)
359 // {
360 // delay5us();
361 // }
362 //LEDSHOW(b);
363 while(1);
364
365 }*/
C51 COMPILER V7.50 SPI 12/12/2006 10:05:03 PAGE 7
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 903 ----
CONSTANT SIZE = 30 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 31
IDATA SIZE = ---- 3
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -