多个窗体做串口通信的问题

herolions 2014-02-03 12:31:21
一个工程有多个窗体,每个窗体都会用到串口通信,串口只有一个,问题来了,A窗体发送的时候,可能B窗体也在发送;A窗体刚发送完,还没收到,B窗体发送,结果A窗体就收不到了。不知道问题描述清楚了没有,一般是怎么处理的?具体思路和流程应该怎样做?请求高手做详细指导,万分感谢
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
那你的所谓“发送和接收”,是个什么序列?请画出你时序图来说明一下。
devmiao 2014-02-03
  • 打赏
  • 举报
回复
让它们共享一个线程负责发送和接收。所有的窗体将任务丢入队列。
tcmakebest 2014-02-03
  • 打赏
  • 举报
回复
串口只有一个不能共享,所以只应该实例化一个串口通讯的类, 然后各个窗口以互斥的机制发送和接收数据,为了防止数据串拢,应该: 1 发送前清空接收数据 2 发送后设定一段时间(如1秒)的接收时间,在这段时间内收到的数据为此次的结果 3 在这段时间内其他发送请求排队,或者直接报错。
  • 打赏
  • 举报
回复
从你的这种描述上可以看出,你不知道遇到问题时首先该有什么东西需要说明。
  • 打赏
  • 举报
回复
引用 2 楼 herolions 的回复:
[quote=引用 1 楼 sp1234 的回复:] 那你的所谓“发送和接收”,是个什么序列?请画出你时序图来说明一下。
发送完了等待接收,各个窗体在发送时间上没有联系[/quote] 谁“发送完了等待接收”?你连明确这个“谁”都没有任何规范吗?
  • 打赏
  • 举报
回复
你的接口数量受限于什么?
herolions 2014-02-03
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
那你的所谓“发送和接收”,是个什么序列?请画出你时序图来说明一下。
发送完了等待接收,各个窗体在发送时间上没有联系

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧