搜索
bottom↓
回复: 3

请教版主 LWIP问题

[复制链接]

出0入0汤圆

发表于 2010-8-12 17:48:00 | 显示全部楼层 |阅读模式
我用STM32F107实现MODBUS TCP    看了很多例子都是每次访问都重新建立连接,数据传输完成,删除连接。现在上位机要求不断开连接。一直进行数据通信。我修改了下例子。现在出现这种情况,每次单片机复位可连接,一旦在连接中,上位机进行断开或非正常情况断开,在连接,没办法进行连接,单请大家帮忙解决下,谢谢了,我的TCP处理任务如下。
void TCP_Modbus_SlaveEntry(void * ptemp)
{
static struct netconn  *__pSTConn, *__pstNewConn;
static struct netbuf *__pstNetbuf;


u8 __u8Err;

ptemp = ptemp;

// TCP modbus 初始化;
TCP_ModbusInit();   //加载接受数据

//* 初始化LwIP
__ilvInitLwIP();

//* 设置LwIP,包括添加配置网络接口、建立接收任务等工作
__ilvSetLwIP();

__pSTConn = netconn_new(NETCONN_TCP);
netconn_bind(__pSTConn, NULL, 80);

netconn_listen(__pSTConn);
__pstNewConn = netconn_accept(__pSTConn);



while(OS_TRUE)
{
if(__pstNewConn != NULL)  //if(1)
{
__pstNetbuf = netconn_recv(__pstNewConn);
if(__pstNetbuf != NULL)
{
netbuf_copy(__pstNetbuf,TCP_Modbus_SlaveRevBuf,TCP_MODBUS_SLAVE_REV_BUF_SIZE);
__u8Err = TCP_ModbusSlaveRcv(&MSDpr_TCP);                             //MODBUS TCP分析

if(__u8Err == ERROR) // 收到的帧有错误;
{
netconn_write(__pstNewConn, "cuowu",10, NETCONN_COPY); // 错误处理;
OSTimeDlyHMSM(0, 0, 0, 40);
}
else
{
netconn_write(__pstNewConn, MSDpr_TCP.psend,MSDpr_TCP.sendnum, NETCONN_COPY);
OSTimeDlyHMSM(0, 0, 0, 40);
}
}
netbuf_delete(__pstNetbuf);
netconn_close(__pstNewConn);     // 删除连接句柄
//while(netconn_delete(__pstNewConn) != ERR_OK);
OSTimeDlyHMSM(0, 0, 0, 100);
}

}
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-8-12 18:30:08 | 显示全部楼层
不同的OS不同的移植还是有差别的。

出0入0汤圆

 楼主| 发表于 2010-8-12 19:27:23 | 显示全部楼层
谢谢 版主回复,能否提供些思路,感恩不尽,

出0入0汤圆

发表于 2012-11-1 10:47:48 | 显示全部楼层
我用的是单片机心跳包+断线重连检测+软件复位的方式来重连的,虽然能够勉强连接,但是还是感觉这样太麻烦了,而且也不是十分稳定,每次都要连续连接两次才能重新建立连接,还是想找一个其他的方法,最好是从协议栈入手修改的!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:36

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表