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

📄 5112udp.lst

📁 一个嵌入式系统通过GPRS进行数据传输的程序,协议芯片为5112,程序中描述了通过单片机上网及通过UDP数据传输的过程
💻 LST
📖 第 1 页 / 共 5 页
字号:
 531   3                              wait(150);
 532   3                              smsindex--;
 533   3                      }
 534   2                      else
 535   2                      {
 536   3                              killtimer(0);//display for set socket ok
 537   3                              DSP_STAT=1;
 538   3                              DSP_LINK=1;
 539   3                              DSP_CALL=1;
 540   3                              DSP_SEND=1;
 541   3                              DSP_RCV=1;
 542   3                              wait(150);
 543   3                              wait(150);
 544   3                              DSP_STAT=0;
 545   3                              DSP_LINK=0;
 546   3                              DSP_CALL=0;
 547   3                              DSP_SEND=0;
 548   3                              DSP_RCV=0;
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 10  

 549   3                              wait(150);
 550   3                              wait(150);
 551   3                              DSP_STAT=1;
 552   3                              DSP_LINK=1;
 553   3                              DSP_CALL=1;
 554   3                              DSP_SEND=1;
 555   3                              DSP_RCV=1;
 556   3                              settimer(0);
 557   3                              break;
 558   3                      }
 559   2              }
 560   1              send_ctr_com0_buf[0]='&';
 561   1              send_ctr_com0_buf[1]='&';
 562   1              send_ctr_com0_buf[2]='&';
 563   1              send_data0=0;
 564   1              send_ctr_com0_len=3;
 565   1              send_com0_cnt=0;
 566   1              send_com0_finish=0;
 567   1              TI=1;
 568   1              while ( ! send_com0_finish )
 569   1              {
 570   2              ;
 571   2              }
 572   1              for ( i = 0 ; i < 15 ; i ++ ) wait(100);
 573   1              sm=0;
 574   1              rcv_cnt0=0;
 575   1              rcv_7d=0;
 576   1              rcv_data0=0;
 577   1              rcv_command=0;
 578   1              com0tocom1=0;
 579   1              rcv_data_len=0;
 580   1              chk_add=0;
 581   1              send_to_com1_addr=0;
 582   1              request_send_ack_to_server=0;
 583   1              rcv_chk_cnt=0;
 584   1              rcv_to_send_com1_addr=0;
 585   1              receive_5112=0;
 586   1              DSP_SEND=1;
 587   1              DSP_RCV=1;
 588   1      }
 589          ///////////////////////////////
 590          //
 591          //NAME: conver receive chk to int
 592          //DESCRIPTION: conver receive chk to int
 593          //CALL:
 594          //INPUT:
 595          //OUTPUT:
 596          //
 597          ///////////////////////////////
 598          unsigned int conver_chk(unsigned char *p)
 599          {
 600   1              unsigned int data dt,itemp;
 601   1              unsigned char data addr;
 602   1              if ( p[2] == 0x56 )
 603   1              {
 604   2                      dt=p[3] ^ 0x20;
 605   2                      addr=1;
 606   2              }
 607   1              else
 608   1              {
 609   2                      dt=p[3];
 610   2                      addr=2;
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 11  

 611   2              }
 612   1              addr--;
 613   1              if ( p[addr]==0x56)
 614   1              {
 615   2                      itemp=p[addr+1] ^ 0x20;
 616   2                      itemp=itemp<<8;
 617   2                      dt=dt+itemp;
 618   2              }
 619   1              else
 620   1              {
 621   2                      itemp=p[addr+1];
 622   2                      itemp=itemp<<8;
 623   2                      dt=dt+itemp;
 624   2      
 625   2              }
 626   1              return(dt);
 627   1      }
 628          ///////////////////////////////
 629          //
 630          //NAME: sendsetack
 631          //DESCRIPTION: send set ack  data to server
 632          //CALL:
 633          //INPUT:
 634          //OUTPUT:
 635          //
 636          ///////////////////////////////
 637          void sendsetack(void)
 638          {
 639   1              unsigned char *p;
 640   1              unsigned char  addr,i;
 641   1              unsigned int  chk;
 642   1              send_ctr_com0_buf[0]=0x7e;
 643   1              send_ctr_com0_buf[1]=0x35;
 644   1              send_ctr_com0_buf[2]=0x00;
 645   1              send_ctr_com0_buf[3]=0x11;
 646   1              send_ctr_com0_buf[4]=0x55;
 647   1              send_ctr_com0_buf[5]=0x00;
 648   1              send_ctr_com0_buf[6]=0x00;
 649   1              send_ctr_com0_buf[7]=0x05;
 650   1              p=conver(eid);//conver eid
 651   1              for ( i = 0 ; i < p[0] ; i++ ) send_ctr_com0_buf[8+i]=p[i+1];
 652   1              addr=8+p[0];
 653   1              chk=p[(p[0]+1)];
 654   1              chk=chk<<8;
 655   1              chk=chk+p[(p[0]+2)];
 656   1              send_ctr_com0_buf[addr]=0x06;
 657   1              chk=chk+6;
 658   1              addr++;
 659   1              p=conver(chk);//conver chk
 660   1              for( i = 0 ; i < p[0] ; i++ )
 661   1              {
 662   2                      send_ctr_com0_buf[addr]=p[i+1];
 663   2                      addr++;
 664   2              }
 665   1              send_ctr_com0_buf[addr]=0x55;
 666   1              addr++;
 667   1              send_ctr_com0_buf[addr]=0x7e;
 668   1              addr++;
 669   1              send_data0=0;
 670   1              send_ctr_com0_len=addr;
 671   1              send_com0_cnt=0;
 672   1              send_com0_finish=0;
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 12  

 673   1              TI=1;
 674   1              ack=0;
 675   1              settimer(9);
 676   1              while ( !ack )
 677   1              {
 678   2              ;
 679   2              }
 680   1              killtimer(9);
 681   1              ack=0;
 682   1      }
 683          ///////////////////////////////
 684          //
 685          //NAME: sendack
 686          //DESCRIPTION: send ack  data to server
 687          //CALL:
 688          //INPUT:
 689          //OUTPUT:
 690          //
 691          ///////////////////////////////
 692          void sendack(void)
 693          {
 694   1              unsigned char *p;
 695   1              unsigned char  addr,i;
 696   1              unsigned int  chk;
 697   1              send_ctr_com0_buf[0]=0x7e;
 698   1              send_ctr_com0_buf[1]=0x35;
 699   1              send_ctr_com0_buf[2]=0x00;
 700   1              send_ctr_com0_buf[3]=0x11;
 701   1              send_ctr_com0_buf[4]=0x55;
 702   1              send_ctr_com0_buf[5]=0x00;
 703   1              send_ctr_com0_buf[6]=0x00;
 704   1              send_ctr_com0_buf[7]=0x05;
 705   1              p=conver(eid);//conver eid
 706   1              for ( i = 0 ; i < p[0] ; i++ ) send_ctr_com0_buf[8+i]=p[i+1];
 707   1              addr=8+p[0];
 708   1              chk=p[(p[0]+1)];
 709   1              chk=chk<<8;
 710   1              chk=chk+p[(p[0]+2)];
 711   1              send_ctr_com0_buf[addr]=0x04;
 712   1              chk=chk+4;
 713   1              addr++;
 714   1              p=conver(chk);//conver chk
 715   1              for( i = 0 ; i < p[0] ; i++ )
 716   1              {
 717   2                      send_ctr_com0_buf[addr]=p[i+1];
 718   2                      addr++;
 719   2              }
 720   1              send_ctr_com0_buf[addr]=0x55;
 721   1              addr++;
 722   1              send_ctr_com0_buf[addr]=0x7e;
 723   1              addr++;
 724   1              send_data0=0;
 725   1              send_ctr_com0_len=addr;
 726   1              send_com0_cnt=0;
 727   1              send_com0_finish=0;
 728   1              TI=1;
 729   1              ack=0;
 730   1              settimer(9);
 731   1              while ( !ack )
 732   1              {
 733   2              ;
 734   2              }
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 13  

 735   1              killtimer(9);
 736   1              ack=0;
 737   1      }
 738          ///////////////////////////////
 739          //
 740          //NAME: sendchk
 741          //DESCRIPTION: send link test data
 742          //CALL:
 743          //INPUT:
 744          //OUTPUT:
 745          //
 746          ///////////////////////////////
 747          void sendchk(void)
 748          {
 749   1              unsigned char *p;
 750   1              unsigned char  addr,i;
 751   1              unsigned int  chk;
 752   1              send_ctr_com0_buf[0]=0x7e;
 753   1              send_ctr_com0_buf[1]=0x35;
 754   1              send_ctr_com0_buf[2]=0x00;
 755   1              send_ctr_com0_buf[3]=0x11;
 756   1              send_ctr_com0_buf[4]=0x55;
 757   1              send_ctr_com0_buf[5]=0x00;
 758   1              send_ctr_com0_buf[6]=0x00;
 759   1              send_ctr_com0_buf[7]=0x05;
 760   1              p=conver(eid);//conver eid
 761   1              for ( i = 0 ; i < p[0] ; i++ ) send_ctr_com0_buf[8+i]=p[i+1];
 762   1              addr=8+p[0];
 763   1              chk=p[(p[0]+1)];
 764   1              chk=chk<<8;
 765   1              chk=chk+p[(p[0]+2)];
 766   1              send_ctr_com0_buf[addr]=0x01;
 767   1              chk++;
 768   1              addr++;
 769   1              p=conver(chk);//conver chk
 770   1              for( i = 0 ; i < p[0] ; i++ )
 771   1              {
 772   2                      send_ctr_com0_buf[addr]=p[i+1];
 773   2                      addr++;
 774   2              }
 775   1              send_ctr_com0_buf[addr]=0x55;
 776   1              addr++;
 777   1              send_ctr_com0_buf[addr]=0x7e;
 778   1              addr++;
 779   1              send_data0=0;
 780   1              send_ctr_com0_len=addr;
 781   1              send_com0_cnt=0;
 782   1              send_com0_finish=0;
 783   1              TI=1;
 784   1              ack=0;
 785   1              settimer(9);
 786   1              while ( !ack )
 787   1              {
 788   2              ;
 789   2              }
 790   1              killtimer(9);
 791   1              ack=0;
 792   1      }
 793          ///////////////////////////////
 794          //
 795          //NAME: resetconnect
 796          //DESCRIPTION: close socket and re-set socket set
C51 COMPILER V7.20   5112UDP                                                               08/18/2004 10:31:57 PAGE 14  

 797          //CALL:
 798          //INPUT:
 799          //OUTPUT:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -