📄 bthcomm.lst
字号:
324 5 BD[DeviceCoun].DeviceNum[1] = *(pt-2);
325 5
326 5 for(m=0;m<12;m++)
327 5 BD[DeviceCoun].DeviceAdd[m] = *(pt+3+m);
328 5 DeviceCoun++;
329 5 pt +=4;
330 5 }
331 4 }while(pt!=NULL);
332 3
333 3 return 0;
334 3 }
335 2 WD_Reset
336 2 if(second1>60) return 4; //4:list指令出错
337 2
338 2 }
339 1 }
340 ///////////////////////////////////////////////////////////////////////////
341 /*void serier1_send_NoRep(void)
342 {
343 SendBuf1[0] = 2;
344 SendBuf1[1] = 0x33;
345 SendBuf1[2] = 'N';
346 SendBuf1[3] = 3;
347 SendBuf1[4] = 0x38;
348 SendBuf1[5] = 0x34;
349 SendBuf1[6] = 0x00;
350 SBUF1 = SendBuf1;
351 }*/
352 ///////////////////////////////////////////////////////////////////////////
353 bit LinkBth(char i)
354 {
355 1 char *pa, *pc, *pt;
356 1 char n;
357 1
358 1 pa = bthlink;
359 1 series0_send_array(pa);
360 1 pa = &(BD[i].DeviceNum[1]);
361 1 series0_send_char(pa);
362 1 pa = bthserv;
363 1 series0_send_array(pa);
364 1 WD_Reset
C51 COMPILER V7.10 BTHCOMM 10/14/2005 13:18:00 PAGE 7
365 1 series0_recv_array();
366 1
367 1 pc = strconn;
368 1 pt = RecvBuf;
369 1 n = strncmp(pt,pc,8);
370 1 if(n==0) return 1; //0:蓝牙设备连接正常
371 1 else return 0; //5:蓝牙设备连接异常
372 1
373 1 }
374 /////////////////////////////////////////////////////////////
375 bit Addrmatch(char n)
376 {
377 1 char i,j;
378 1 for(i=0;i<10;i++)
379 1 {
380 2 for(j=0;j<12;j++)
381 2 if(BD[n].DeviceAdd[j]!=PDAMACAdd[i][j])
382 2 break;
383 2 if(j==12) return 1;
384 2 }
385 1 if(i==10) return 0;
386 1
387 1 }
388 ///////////////////////////////////////////////////
389 void BthDisconnect(void)
390 {
391 1 char *pa;
392 1 second = 0;
393 1 while(1)
394 1 if(second>=2) break;
395 1 WD_Reset
396 1 pa = strplus;
397 1 series0_send_array(pa);
398 1
399 1 series0_recv_array();
400 1 WD_Reset
401 1 second = 0;
402 1 while(1)
403 1 if(second>=2) break;
404 1 WD_Reset
405 1 pa = bthdisconn;
406 1 series0_send_array(pa);
407 1 series0_recv_array();
408 1 }
409 ///////////////////////////////////////////////////
410 void BthReset(void)
411 {
412 1 char *pa;
413 1 pa = bthresetc;
414 1 series0_send_array(pa);
415 1 series0_recv_array();
416 1 }
417 ////////////////////////////////////////////////////
418 /*bit Bthlinking()
419 {
420 char *pa,*pc,*pt;
421 char n;
422 pa = bthat;
423 for(n=0;n<3;n++)
424 {
425 series0_send_array(pa);
426 series0_recv_array();
C51 COMPILER V7.10 BTHCOMM 10/14/2005 13:18:00 PAGE 8
427 }
428 pc = strok;
429 pt = RecvBuf;
430 n = strncmp(pt,pc,2);
431 if(n==0) return 0; //0:蓝牙设备处于非透明数据传输状态
432 else return 1; //1:蓝牙设备处于透明数据传输状态或没有和蓝牙模块相连
433
434 }*/
435 ////////////////////////////////////////////////////
436 void uart1_interrupt(void) interrupt 4 using 2
437 {
438 1 uchar c;
439 1 if(TI)
440 1 {
441 2 TI=0;
442 2 sendlen++;
443 2 if(SendBuf[sendlen]!=0)
444 2 {
445 3 SBUF = SendBuf[sendlen];
446 3 }
447 2 else sendlen = 0;
448 2 }
449 1 if (RI)
450 1 {
451 2 RI=0;
452 2 c=SBUF;
453 2 if(c=='N')
454 2 {
455 3 Tag = 1;
456 3 Count = 0;
457 3 }
458 2 if(Tag)
459 2 {
460 3 if(Count==1)
461 3 if(c!='O')
462 3 {
463 4 Count = 0;
464 4 Tag = 0;
465 4 }
466 3 if(Count==2)
467 3 if(c!=' ')
468 3 {
469 4 Count = 0;
470 4 Tag = 0;
471 4 }
472 3 if(Count==3)
473 3 if(c!='C')
474 3 {
475 4 Count = 0;
476 4 Tag = 0;
477 4 }
478 3 if(Count==4)
479 3 if(c!='A')
480 3 {
481 4 Count = 0;
482 4 Tag = 0;
483 4 }
484 3 if(Count==5||Count==6)
485 3 {
486 4 if(c!='R')
487 4 {
488 5 Count = 0;
C51 COMPILER V7.10 BTHCOMM 10/14/2005 13:18:00 PAGE 9
489 5 Tag = 0;
490 5 }
491 4 }
492 3 if(Count==7)
493 3 if(c!='I')
494 3 {
495 4 Count = 0;
496 4 Tag = 0;
497 4 }
498 3 if(Count==8)
499 3 if(c!='E')
500 3 {
501 4 Count = 0;
502 4 Tag = 0;
503 4 }
504 3 if(Count==9)
505 3 {
506 4 if(c=='R')
507 4 RecvOk = 1;
508 4
509 4 else
510 4 {
511 5 Count = 0;
512 5 Tag = 0;
513 5 }
514 4 }
515 3 Count++;
516 3 }
517 2
518 2
519 2 if(Recving==0)
520 2 {
521 3 if(c==0x02)//起始
522 3 {
523 4 RecvBuf[0]=0x02;
524 4 CommCnt =1;
525 4 Recving =1;
526 4 }
527 3 else
528 3 {
529 4 Recving=0;
530 4 CommCnt=0;
531 4 }
532 3 }
533 2 else
534 2 {
535 3 RecvBuf[CommCnt] = c;
536 3 if(c==0x03)
537 3 {
538 4 ComLen =CommCnt+2;
539 4 }
540 3 if(ComLen == CommCnt)
541 3 {
542 4 RecvBuf[CommCnt+1] = 0;
543 4 Recving=0;
544 4 CommCnt=0;
545 4 RecvOk =1;
546 4
547 4 // SBUF = RecvBuf[0];
548 4 return;
549 4 }
550 3 CommCnt++;
C51 COMPILER V7.10 BTHCOMM 10/14/2005 13:18:00 PAGE 10
551 3 }
552 2 }
553 1 }
554
555 void uart2_interrupt(void) interrupt 7 using 3
556 {
557 1 unsigned char c;
558 1 if(TI1)
559 1 {
560 2 TI1=0;
561 2 sendlen1++;
562 2 if(SendBuf1[sendlen1]!=0)
563 2 {
564 3 SBUF1 = SendBuf1[sendlen1];
565 3
566 3 }
567 2 else sendlen1 = 0;
568 2 }
569 1 if (RI1)
570 1 {
571 2 RI1=0;
572 2 c=SBUF1;
573 2 if(Recving1==0)
574 2 {
575 3 if(c==0x02)//起始
576 3 {
577 4 RecvBuf1[0]=0x02;
578 4 CommCnt1 =1;
579 4 Recving1 =1;
580 4 }
581 3 else
582 3 {
583 4 Recving1=0;
584 4 CommCnt1=0;
585 4 }
586 3 }
587 2 else
588 2 {
589 3 RecvBuf1[CommCnt1] = c;
590 3 if(c==0x03)
591 3 {
592 4 ComLen1 =CommCnt1+2;
593 4 }
594 3 if(ComLen1 == CommCnt1)
595 3 {
596 4 RecvBuf1[CommCnt1+1] = 0;
597 4 Recving1=0;
598 4 CommCnt1=0;
599 4 RecvOk1 =1;
600 4
601 4 // SBUF = RecvBuf1[0];
602 4 return;
603 4 }
604 3 CommCnt1++;
605 3 }
606 2
607 2 }
608 1
609 1
610 1 }
611
612
C51 COMPILER V7.10 BTHCOMM 10/14/2005 13:18:00 PAGE 11
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2667 ----
CONSTANT SIZE = 117 ----
XDATA SIZE = 870 40
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 7
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -