OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4082|回复: 4

关于stm32f207的RAW_TCP服务器编程通信稳定性问题

[复制链接]

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-5-12
在线时间
10 小时
发表于 2021-5-12 08:58:10 | 显示全部楼层 |阅读模式
    现实开发中遇到的一个问题,本机通过rs485接收数据,接收时长大约20多毫秒,通过中断方式接受的,接收周期为590毫秒,然后本机服务器把数据传给客户端数据包为288字节。TCP_TMR_INTERVAL的原设定值为250,TCP_SLOW_INTERVAL也就是500,实际测试一分钟51次,这样一次周期就是1170毫秒左右,和网络调试助手测试正常,就是周期太长了。   于是通过修改TCP_TMR_INTERVAL为25,这样一次接近600毫秒,可是新的问题来了,测试过程中,服务器会和客户端断开连接。望各位指教,解决我的困惑
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6548
金钱
6548
注册时间
2017-4-12
在线时间
1245 小时
发表于 2021-5-12 10:06:33 | 显示全部楼层

回帖奖励 +1 金钱

开辟一段缓存,用储存接收到的485数据,每次需要转发时,将数据丢进缓存队列,另一边一直查询队列是否有数据,有数据则依次出列
回复 支持 0 反对 1

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-5-12
在线时间
10 小时
 楼主| 发表于 2021-5-12 10:16:19 | 显示全部楼层
245925587 发表于 2021-5-12 10:06
开辟一段缓存,用储存接收到的485数据,每次需要转发时,将数据丢进缓存队列,另一边一直查询队列是否有数 ...

不是这个问题,之前用的CAN传输,一点问题也没有,现在就是换TCP没那么实时了。
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2021-5-12
在线时间
10 小时
 楼主| 发表于 2021-5-12 13:23:07 | 显示全部楼层
245925587 发表于 2021-5-12 10:06
开辟一段缓存,用储存接收到的485数据,每次需要转发时,将数据丢进缓存队列,另一边一直查询队列是否有数 ...

不是这个问题,之前用的CAN传输,一点问题也没有,现在就是换TCP没那么实时了。
回复 支持 反对

使用道具 举报

10

主题

778

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6548
金钱
6548
注册时间
2017-4-12
在线时间
1245 小时
发表于 2021-5-13 13:35:06 | 显示全部楼层
Scarlett丶 发表于 2021-5-12 13:23
不是这个问题,之前用的CAN传输,一点问题也没有,现在就是换TCP没那么实时了。

跟踪一下,服务器因为什么原因断开客户端的连接
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-9 23:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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