📄 5112udp.lst
字号:
800 //
801 ///////////////////////////////
802 void resetconnect(void)
803 {
804 1 // unsigned char temp;
805 1 // unsigned char *p;
806 1 send_ctr_com0_buf[0]=0x7e;
807 1 send_ctr_com0_buf[1]=0x31;
808 1 send_ctr_com0_buf[2]=0x00;
809 1 send_ctr_com0_buf[3]=0x04;
810 1 send_ctr_com0_buf[4]=0x0c;
811 1 send_ctr_com0_buf[5]=0x7e;
812 1 send_data0=0;
813 1 send_ctr_com0_len=6;
814 1 send_com0_cnt=0;
815 1 send_com0_finish=0;
816 1 TI=1;
817 1 ack=0;
818 1 settimer(9);
819 1 while ( !ack )
820 1 {
821 2 ;
822 2 }
823 1 killtimer(9);
824 1 send_ctr_com0_buf[0]=0x7e;
825 1 send_ctr_com0_buf[1]=0x33;
826 1 send_ctr_com0_buf[2]=0x00;
827 1 send_ctr_com0_buf[3]=0x0b;
828 1 send_ctr_com0_buf[4]=0x1f;//my port = 8000
829 1 send_ctr_com0_buf[5]=0x40;
830 1 send_ctr_com0_buf[6]=sockset[0];
831 1 send_ctr_com0_buf[7]=sockset[1];
832 1 send_ctr_com0_buf[8]=sockset[2];
833 1 send_ctr_com0_buf[9]=sockset[3];
834 1 send_ctr_com0_buf[10]=sockset[4];
835 1 send_ctr_com0_buf[11]=sockset[5];
836 1 send_ctr_com0_buf[12]=0x7e;
837 1 ack=0;
838 1 send_data0=0;
839 1 send_ctr_com0_len=13;
840 1 send_com0_cnt=0;
841 1 send_com0_finish=0;
842 1 TI=1; //set socket
843 1 settimer(9);
844 1 while ( !ack )
845 1 {
846 2 ;
847 2 }
848 1 killtimer(9);
849 1 ack=0;
850 1 }
851 ///////////////////////////////
852 //
853 //NAME: conver
854 //DESCRIPTION: conver chk or send id or eid from unsigned int to send format
855 //CALL:
856 //INPUT:
857 //OUTPUT:*p[0]=data len,p[1~len]=data,p[len+1,+2]=add
858 //
C51 COMPILER V7.20 5112UDP 08/18/2004 10:31:57 PAGE 15
859 ///////////////////////////////
860 unsigned char * conver(unsigned int dt)
861 {
862 1 unsigned char *p;
863 1 unsigned char data convbuf[9];
864 1 unsigned char data ch,addr,s55;
865 1 unsigned int chk;
866 1 ch=(unsigned char )(dt & 0xff);
867 1 s55=0;
868 1 chk=0;
869 1 if (( ch == 0x55 )|( ch == 0x56 ))
870 1 {
871 2 convbuf[5]=0x56;
872 2 chk=0x56;
873 2 convbuf[6]=ch ^ 0x20;
874 2 chk=chk+convbuf[6];
875 2 addr=4;
876 2 s55++;
877 2 }
878 1 else
879 1 { chk=ch;
880 2 if (( ch == 0x7d )|( ch == 0x7e ))
881 2 {
882 3 convbuf[5]=0x7d;
883 3 convbuf[6]=ch ^ 0x20;
884 3 addr=4;
885 3 }
886 2 else
887 2 {
888 3 convbuf[6]=ch;
889 3 addr=5;
890 3 }
891 2 }
892 1 ch=(unsigned char )(dt>>8);
893 1
894 1 addr--;
895 1 if (( ch == 0x55 )|( ch == 0x56 ))
896 1 {
897 2 convbuf[addr]=0x56;
898 2 chk=chk+0x56;
899 2 convbuf[addr+1]=ch ^ 0x20;
900 2 chk=chk+convbuf[addr+1];
901 2 s55++;
902 2 }
903 1 else
904 1 { chk=chk+ch;
905 2 if (( ch == 0x7d )|( ch == 0x7e ))
906 2 {
907 3 convbuf[addr]=0x7d;
908 3 convbuf[addr+1]=ch ^ 0x20;
909 3
910 3 }
911 2 else
912 2 {
913 3 addr++;
914 3 convbuf[addr]=ch;
915 3 }
916 2 }
917 1 addr--;
918 1 ch=2-s55;
919 1 for( s55 = 0 ; s55 < ch ; s55++ )
920 1 {
C51 COMPILER V7.20 5112UDP 08/18/2004 10:31:57 PAGE 16
921 2 convbuf[addr]=0;
922 2 addr--;
923 2 }
924 1 convbuf[8]=chk & 0xff;
925 1 chk=chk>>8;
926 1 convbuf[7]=chk & 0xff;
927 1 convbuf[addr]=6-addr;
928 1 p=&convbuf[addr];
929 1 return(p);
930 1 }
931 ///////////////////////////////
932 //
933 //NAME: hangup
934 //DESCRIPTION: break internet
935 //CALL:
936 //INPUT:
937 //OUTPUT:
938 //
939 ///////////////////////////////
940 void hangup(void)
941 {
942 1 send_ctr_com0_buf[0]=0x7e;
943 1 send_ctr_com0_buf[1]=0x31;
944 1 send_ctr_com0_buf[2]=0x00;
945 1 send_ctr_com0_buf[3]=0x04;
946 1 send_ctr_com0_buf[4]=0x10;
947 1 send_ctr_com0_buf[5]=0x7e;
948 1 send_data0=0;
949 1 send_ctr_com0_len=6;
950 1 send_com0_finish=0;
951 1 ack=0;
952 1 send_com0_cnt=0;
953 1 TI=1;
954 1 settimer(9);
955 1 while ( !ack )
956 1 {
957 2 ;
958 2 }
959 1 killtimer(9);
960 1 ack=0;
961 1 phy_err=0;
962 1 settimer(12);
963 1 DSP_RCV=1;
964 1 DSP_SEND=0;
965 1 while( ! phy_err )
966 1 {
967 2 wait(100);
968 2 wait(100);
969 2 DSP_RCV=~DSP_RCV;
970 2 DSP_SEND=~DSP_RCV;
971 2 }
972 1 DSP_RCV=1;
973 1 DSP_SEND=1;
974 1 phy_err=0;
975 1 killtimer(12);
976 1 }
977 ///////////////////////////////
978 //
979 //NAME: call
980 //DESCRIPTION: call isp num
981 //CALL:
982 //INPUT:
C51 COMPILER V7.20 5112UDP 08/18/2004 10:31:57 PAGE 17
983 //OUTPUT:call ok =1; call error =0;
984 //
985 ///////////////////////////////
986 bit call(void)
987 {
988 1 unsigned char recall,i;
989 1 settimer(2);
990 1 run=0;
991 1 recall=0;
992 1 ack=0;
993 1 while(1)
994 1 {
995 2 send_ctr_com0_buf[0]=0x7e;
996 2 send_ctr_com0_buf[1]=0x31;
997 2 send_ctr_com0_buf[2]=0x00;
998 2 send_ctr_com0_buf[3]=0x04;
999 2 send_ctr_com0_buf[4]=0x01;
1000 2 send_ctr_com0_buf[5]=0x7e;
1001 2 send_data0=0;
1002 2 send_ctr_com0_len=6;
1003 2 send_com0_finish=0;
1004 2 ack=0;
1005 2 ppp_err=0;
1006 2 ppp_ok=0;
1007 2 send_com0_cnt=0;
1008 2 TI=1;
1009 2 settimer(9);
1010 2 while ( !ack )
1011 2 {
1012 3 ;
1013 3 }
1014 2 killtimer(9);
1015 2 ack=0;
1016 2 while (!( ppp_ok | ppp_err ))
1017 2 {
1018 3 if ( ! timer7 ) settimer(7);
1019 3 wait(150);
1020 3 }
1021 2 killtimer(7);
1022 2 if ( ppp_ok )
1023 2 {
1024 3 killtimer(2);
1025 3 DSP_CALL=0;
1026 3 ppp_err=0;
1027 3 ppp_ok=0;
1028 3 return(1);
1029 3 }
1030 2 else
1031 2 {
1032 3 recall++;
1033 3 if ( recall > 1 )
1034 3 {
1035 4 killtimer(2);
1036 4 DSP_CALL=1;
1037 4 ppp_err=0;
1038 4 ppp_ok=0;
1039 4 return (0);
1040 4 }
1041 3 else
1042 3 {
1043 4 for ( i = 0 ; i < 120 ; i++ ) wait(100);
1044 4 }
C51 COMPILER V7.20 5112UDP 08/18/2004 10:31:57 PAGE 18
1045 3 }
1046 2 }
1047 1 }
1048 ///////////////////////////////
1049 //
1050 //NAME: send_data
1051 //DESCRIPTION: send data to equ from modem
1052 //CALL:
1053 //INPUT:
1054 //OUTPUT:NONE
1055 //
1056 ///////////////////////////////
1057 void send_data(void)
1058 {
1059 1 unsigned int data len,itemp,chk;
1060 1 unsigned char data ch,addr;
1061 1 unsigned char *p;
1062 1 if ( com1_rcv_len != 0 )
1063 1 {
1064 2 DSP_SEND=0;
1065 2 settimer(5);
1066 2 ES1=0;
1067 2 ES0=0;
1068 2 com0_send_addr=com1_rcv_addr_hand;
1069 2 com0_send_len=com1_rcv_len;
1070 2 chk=rcv_equ_chk;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -