多线程操作多个串口出现问题(只有一个串口有效)

huboy 2009-01-06 09:49:15
机器有4个串口(本身有2个,再加2个USB转的)

程序开启四个线程,一个线程对应一个串口,,每个线程的操作内容都是一样的。

问题是:

每次都只有一个线程能够返回数据,并且是最先建立的那个线程。。

是否是计算机上的串口只能同时用一个???有啥解决办法

PS:如果不用线程,一个一个串口顺序操作过来,没有任何问题。。
...全文
415 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangyounihao 2012-10-30
  • 打赏
  • 举报
回复
强烈要求共享部分源码!
昵称测试 2012-10-27
  • 打赏
  • 举报
回复
楼主,楼下的我正在写 多线程控制多串口,可否把delphi代码让我学习一下,现在我正迷糊着,万分感谢!
Q-Q: 五 久 一 五 七 二 一 五 六 。
starluck 2009-01-14
  • 打赏
  • 举报
回复



問題解決了,我來接點分。呵呵
WWX330 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 huboy 的帖子:]
机器有4个串口(本身有2个,再加2个USB转的)

程序开启四个线程,一个线程对应一个串口,,每个线程的操作内容都是一样的。

问题是:

每次都只有一个线程能够返回数据,并且是最先建立的那个线程。。

是否是计算机上的串口只能同时用一个???有啥解决办法

PS:如果不用线程,一个一个串口顺序操作过来,没有任何问题。。
[/Quote]

肯定没关系的.我们用过176个串口,11台串口服务器.
应该是线程没有建立好,加入SLEEP试试看.
另外每个线程再建立自己的串口缓冲区,应该没有问题的
可能用的串口控件有关系,我们用的是CPORT3.1
李_军 2009-01-14
  • 打赏
  • 举报
回复
问题解决了。。。既然进来了,就来接分吧
ljluck7687 2009-01-13
  • 打赏
  • 举报
回复
解决办法:每个线程要开启临界区,结束时才退出临界区
WWX330 2009-01-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 huboy 的帖子:]
机器有4个串口(本身有2个,再加2个USB转的)

程序开启四个线程,一个线程对应一个串口,,每个线程的操作内容都是一样的。

问题是:

每次都只有一个线程能够返回数据,并且是最先建立的那个线程。。

是否是计算机上的串口只能同时用一个???有啥解决办法

PS:如果不用线程,一个一个串口顺序操作过来,没有任何问题。。
[/Quote]
电脑可用的串口都可以用的,不论多少个
huboy 2009-01-07
  • 打赏
  • 举报
回复
问题解决了。。。

通讯程序写进去了dll。。同时调用dll出现的问题。。
单眼皮的老虎 2009-01-06
  • 打赏
  • 举报
回复
"每个串口对应一条独立总线"是啥意思?你的线程里面怎么操作的?
是不是你用的控件只支持一个串口的?同时操作多个串口是没问题的。
huboy 2009-01-06
  • 打赏
  • 举报
回复
刚没说清楚,补充一点。每个串口对应一条独立总线

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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