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

📄 bthcomm.lst

📁 通过AT命令对串口蓝牙模块进行通信控制操作
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -