请教一个关于C#上位机的问题

[复制链接]
1100|9
 楼主| playerboy 发表于 2019-3-9 22:14 | 显示全部楼层 |阅读模式
现在我使用上位机和下位机通信,传输数据过程中有超时机制。现在正常工作时,每条信息之间的间隔大致在1ms左右。但是偶发性两条信息之间的间隔会超出20ms导致通信失败。现在UI刷新是一个线程,发送信息是一个线程,尝试了线程锁定,超时发生的几率小了,但是依旧会发生。请问有人知道如何解决这个问题吗?
linqing171 发表于 2019-3-10 17:27 | 显示全部楼层
windows的任务调度是ms级别的。
要想解决这个问题,等20年之后你再来运行这个程序,到时候操作系统的调度可能是us级别的,你电脑里只开这么一个上位机的话,应该就不会有问题了。
还有就是你让电脑裸奔,不跑操作系统,用定时器中断来发送,应该也能解决。

评论

但是别的软件没这个问题啊  发表于 2019-3-13 19:35
yangxf1217 发表于 2019-3-10 18:39 | 显示全部楼层
下位机往上发间隔1ms吗?

评论

@playerboy :应该没有解决办法,还是换成嵌入式实时操作系统吧。或者改一下方案。  发表于 2019-3-14 14:37
上位机往下发  发表于 2019-3-13 19:34
whtwhtw 发表于 2019-3-11 11:17 | 显示全部楼层
既然这样能不能把每1ms发送1条信息改为每20ms发送20条信息?如果不影响功能可以试试

评论

影响功能啊。不影响就改了  发表于 2019-3-13 19:34
gnaijnaoul 发表于 2019-3-13 21:36 | 显示全部楼层
这么小的延时要求,搞个网口算了。

评论

这个不是我想改就能改的。这是有协议规定的  发表于 2019-3-15 19:01
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

51

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部