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

📄 tcpip_chuli_task.lst

📁 c8051f020实现4个 产UART 口
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.50   TCPIP_CHULI_TASK                                                      06/10/2007 23:11:23 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TCPIP_CHULI_TASK
OBJECT MODULE PLACED IN .\out\TcpIp_CHULI_Task.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TcpIp_CHULI_Task.c LARGE OPTIMIZE(SIZE) REGFILE(.\out\mbtest.ORC) BROWSE IN
                    -CDIR(C:\Keil\C51\LIB\;D:\TEST_C020\MC_55_C\) DEBUG OBJECTEXTEND OBJECT(.\out\TcpIp_CHULI_Task.obj)

line level    source

   1          
   2          #include "all.h"
   3          
   4          void Reply_TCPIP_SET_OK(uchar Fun) ;
   5          void  Reply_TCPIP_Set_False(uchar Fun)  ;
   6          void  Reply_TCPIP_QueRen();
   7          uchar TCPIP_IS_CS_OK() ;
   8          void  DaBao_TCPIP_And_Send(uchar fun,char *Bufff,uint Lenn) ;
   9          
  10          bit   Is_Tcp_Or_Key_B;    //TCP能运行或  KEY 能运行之任务,1能运行
  11                                                 //两者只能一个能运行
  12          
  13          uchar  Second_WoSou;   //握手秒标志
  14          uchar  Second_wucnt;
  15          uchar  Net_oK_FLAG_0_Cnt=0;
  16          uint   Re_XinTcp_JingLei_cnt=0;   //重新发新警情计数器
  17          
  18          code  uchar  RestTcp[12]={0xA1,0X25,0X06,0X01,'8','8','8','8','8',0XFF};
  19          
  20          void TcpIp_CHULI_Taskqq(void)  _task_  TcpIp_CHULI   {       //   警情处理任务
  21   1             xdata uchar ttt,ii;
  22   1              uchar Faaa[2];
  23   1             os_wait2(K_SIG, 0);
  24   1             while(1)   {        
  25   2                               os_wait2(K_TMO,2);      
  26   2                                Dog_TcpIp_CHULI_cnt=0; //看门狗计数器
  27   2      
  28   2      
  29   2                              //  通知TCPIP  有新警情================================================ 
  30   2                             //  通知TCPIP  有新警情================================================ 
  31   2                             //  通知TCPIP  有新警情================================================ 
  32   2                              if(  Re_XinTcp_JingLei_cnt!=0)  { // 保证16 秒重新发一次, 重新发新警情计数器
  33   3                                                                                        
  34   3                                            Re_XinTcp_JingLei_cnt--;
  35   3                                                if(  Re_XinTcp_JingLei_cnt>RE_Fa_Jing_TCPIP4000)
  36   3                                                            Re_XinTcp_JingLei_cnt=RE_Fa_Jing_TCPIP4000;
  37   3                               }
  38   2                               if( XinTcp_JingLei_Byte!=0&&  Re_XinTcp_JingLei_cnt==0)    {   //  通知TCPIP  有新警情 
  39   3                                             
  40   3                                            // XinTcp_JingLei_Byte =0;  //  通知屏显示
  41   3                                             
  42   3                                             // while(KEY_TX_Right_B==0 )     os_wait2(K_TMO,2);
  43   3                                               //KEY_TX_Right_B=0;    //得到信号灯
  44   3                                               //上传警情命令54
  45   3                                               // 注:数据长度:7 (1 bytes)
  46   3                                               //   数据:6Byte 年月日时分秒 + 1Byte的警情字节
  47   3                                           GPRS_Xin_485_b_FLAG&=(~XIN_GPRS_IN_B);
  48   3                                                DaBao_TCPIP_And_Send(54,(uchar *)&struct_JingQing_Current_True.Jing_time[0], 7);
  49   3                                              
  50   3                                               // os_wait2(K_TMO,200);
  51   3                                                //KEY_TX_Right_B=1;   //放信号灯
  52   3      
  53   3                                                Re_XinTcp_JingLei_cnt=RE_Fa_Jing_TCPIP4000; // 保证16 秒重新发一次, 重新发新警情计数器
  54   3                                                                                        
C51 COMPILER V7.50   TCPIP_CHULI_TASK                                                      06/10/2007 23:11:23 PAGE 2   

  55   3                                                ii=0;
  56   3                                                while(1)  {   //wait 1.5s
  57   4                                                               os_wait2(K_TMO,5);
  58   4                                                               if(++ii>150) {
  59   5                                                                break;
  60   5                                                               }
  61   4                                                               if( (GPRS_Xin_485_b_FLAG&XIN_GPRS_IN_B)==XIN_GPRS_IN_B)  {   
  62   5                                                                                    GPRS_Xin_485_b_FLAG&=(~XIN_GPRS_IN_
             -B);
  63   5                                                                                             if(TCPIP_IS_CS_OK()==1&&GPRS_RX_Buff[0]==1&&GPRS_RX_Buff[2]==54)  { //   
  64   6                                                                                                        //收到应答ok
  65   6                                                                                                         Re_XinTcp_JingLei_cnt=0; //重新发新警情计数器
  66   6                                                                                                        XinTcp_JingLei_Byte =0;  //  通知屏显示
  67   6                                                                                                        break;
  68   6                                                                                              }
  69   5                                                               }                                         
  70   4                                          }
  71   3                              }
  72   2                              //=====以上是报警时主动发警情 ======================
  73   2                              //如不成功则过16秒再重新发一次
  74   2                              //=====以上是报警时主动发警情 ======================
  75   2                              //=====以上是报警时主动发警情 ======================
  76   2      
  77   2      
  78   2      
  79   2      
  80   2                                 //= ===//以下是对TCPIP的设查的处理===============================                    
  81   2                                 if( (GPRS_Xin_485_b_FLAG&XIN_GPRS_IN_B)==XIN_GPRS_IN_B)  {   
  82   3                                                      //以下是对TCPIP的设查的处理
  83   3                                                     while(Is_Tcp_Or_Key_B==0)  {
  84   4                                                                          os_wait2(K_TMO,2);      
  85   4                                                                        Dog_TcpIp_CHULI_cnt=0; //看门狗计数器
  86   4                                                       }
  87   3                                                       Is_Tcp_Or_Key_B=0;
  88   3                                                                 
  89   3                                                      Attand_TCPIP();
  90   3                                                                      
  91   3                                                       Is_Tcp_Or_Key_B=1;
  92   3                                                      GPRS_Xin_485_b_FLAG&=(~XIN_GPRS_IN_B);
  93   3                                 }
  94   2                                 //===========================================================
  95   2      
  96   2      
  97   2                                 //===============以下是握手时间到则握手================
  98   2                              if(  Second_WoSou  ==  0xff  )   {    //握手秒标志 
  99   3                                         Second_WoSou  =  0; 
 100   3                                              if(++Second_wucnt>26)    {
 101   4                                                        Second_wucnt=0;
 102   4                                                               //握手
 103   4                                                               Faaa[0]=0xaa;
 104   4                                                               Faaa[1]=0xaa;
 105   4      
 106   4                                                                GPRS_Xin_485_b_FLAG&=(~XIN_GPRS_IN_B);
 107   4                                                               DaBao_TCPIP_And_Send(56,Faaa, 2);  //发握手命令
 108   4                                                               
 109   4                                                               ttt=0;
 110   4                                                                
 111   4                                                               while(1)  {      //    1.5秒
 112   5                                                                               os_wait2(K_TMO,5);  
 113   5                                                                       if( (GPRS_Xin_485_b_FLAG&XIN_GPRS_IN_B)==
             -XIN_GPRS_IN_B)  {   
 114   6                                                                                      if(TCPIP_IS_CS_OK()==1)  {
C51 COMPILER V7.50   TCPIP_CHULI_TASK                                                      06/10/2007 23:11:23 PAGE 3   

 115   7                                                                                                              if(GPRS_RX_Buff[0]==1)  {                       //&&GPRS_RX_Buff[2]==56)
 116   8                                                                                                               P
             -ara_all_True.Net_oK_FLAG=1;
 117   8                                                                                                                              Net_oK_FLAG_0_Cnt=0;    
 118   8                                                                                                                              break;
 119   8                                                                                                              }
 120   7                                                                                                 }
 121   6                                                                                }
 122   5                                                                                if(++ttt>150) {                       //时限到                                                              
 123   6                                                                                              if(++Net_oK_FLAG_0_Cnt>=2) {    
 124   7                                                                                                               Net_oK_FLAG_0_Cnt=0;
 125   7                                                                                                    Para_all_True.Net_o
             -K_FLAG=0;
 126   7                                                                                                              // 以下是连续两次握手不成功,进行重新连接
 127   7                                                                                                              MoveByte(GPRS_TX_Buff, RestTcp, 12);
 128   7                                                                                                              //FA_TCPIP_Buff();
 129   7                                                                                                               GPRS_TX_Len=10;  //GPRS_TX_Buff[3]+6;          
 130   7                                                                                                              GPRS_TX_cnt=0;          
 131   7                                                                                                             
 132   7                                                                                                               GPRS_TX_Len--; 
 133   7                                                                                                                        
 134   7                                                                                                                SBUF0=GPRS_TX_Buff[0];
 135   7      
 136   7      
 137   7                                                                                                               //===============================================
 138   7                                                                                             }
 139   6                                                                                              break;
 140   6                                                                                }     
 141   5                                                               }                                       
 142   4                                              }       
 143   3                              }
 144   2                                 //===============以上是握手时间到则握手================
 145   2                               
 146   2                 }
 147   1      }
 148          
 149          
 150          
 151          /**********************************************************************
 152          **函数原型:   void Atttand_TonCen()  
 153          **入口参数:    
 154          **出口参数:   无
 155          **返 回 值:   无
 156          **说    明: 对TCPIP的设查的处理
 157          ************************************************************************/
 158          
 159          // 对TCPIP的设查的处理
 160          data uchar *MPPo1,*MPPo2;
 161          void   Attand_TCPIP( )   {
 162   1                    
 163   1                     // uchar i;
 164   1                    uchar Mbufrem;
 165   1                       uchar ii,Len,num,startn;
 166   1                      
 167   1                        
 168   1      
 169   1                    XinKey_b=0;               
 170   1              

⌨️ 快捷键说明

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