求助大神MODBUS TCP 407作为服务器,应答的时候多了个ACK包

2019-07-20 13:35发布

用的原子的例程,TCP接收及发送程序段如下
while(1)
        {
                taskcun=0;
    while ((err=netconn_recv(conn, &recvbuf))==ERR_OK)    //½óêÕμ½êy¾Y
                        {                     
        if(1) //¿éòÔ·¢Ëíêy¾Y
                           {                               
            send_data_len=modbus_tcp(recvbuf,tcp_server_sendbuf); //μ÷óÃmodbus_tcp()oˉêy£¬Ëã3öòa»Øμı¨ÎÄòÔ¼°                                                                 
                                                err=netconn_write(conn,tcp_server_sendbuf,send_data_len+9,NETCONN_COPY); //·¢Ëítcp_server_sendbufÖDμÄêy¾Y       
                                                netbuf_delete(recvbuf);  //êí·Årecvbuf
                                         if(err != ERR_OK)         //·¢Ëítcp_server_sendbuf꧰ü
                                                {                        //Ö′DDÏàó|μĶˉ×÷
                                                }                                                                                                                                                               
                                 }               
//        OSTimeDlyHMSM(0,0,0,(50-(prio-8)*5));  //Ñóê±50ms                                 
      }          
                        netconn_close(conn);               //1رոÃTCPᬽó
                        netconn_delete(conn);       //é¾3y¸ÃTCPᬽó
                        printf("Del task prio=[%d],err=[%d] ", prio, err); //′òó¡òaé¾3yμÄÏß3ìμÄóÅÏ輶oí′íÎó′úÂë
                        for(t=0; t< MAX_CONN_TASK;t++)
                        {
                                if(task[t].prio!=OS_ERR_PRIO_INVALID) taskcun++;         
                        }
                        if(taskcun==1&&err==ERR_TIMEOUT) //&#203;ùóDμ&#196;&#207;&#223;3ì&#182;&#188;ò&#209;&#190;-±&#187;êí·&#197;
                        {
                          TCP_RUN=0XFF;
                                printf("TCP_RUN=%d ",TCP_RUN);
                        }
                        conn_task_del(prio);                                  //ê&#213;&#187;&#216;&#184;&#195;&#207;&#223;3ì
  }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。