首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2013-01-07 
多线程操作多个串口出现问题(只有一个串口有效)机器有4个串口(本身有2个,再加2个USB转的)程序开启四个线程

多线程操作多个串口出现问题(只有一个串口有效)
机器有4个串口(本身有2个,再加2个USB转的)

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

问题是:

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

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

PS:如果不用线程,一个一个串口顺序操作过来,没有任何问题。。
[解决办法]
"每个串口对应一条独立总线"是啥意思?你的线程里面怎么操作的?
是不是你用的控件只支持一个串口的?同时操作多个串口是没问题的。
[解决办法]

引用楼主 huboy 的帖子:
机器有4个串口(本身有2个,再加2个USB转的) 

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

问题是: 

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

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

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

电脑可用的串口都可以用的,不论多少个
[解决办法]
解决办法:每个线程要开启临界区,结束时才退出临界区
[解决办法]
引用楼主 huboy 的帖子:
机器有4个串口(本身有2个,再加2个USB转的) 

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

问题是: 

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

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

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


肯定没关系的.我们用过176个串口,11台串口服务器.
应该是线程没有建立好,加入SLEEP试试看.
另外每个线程再建立自己的串口缓冲区,应该没有问题的
可能用的串口控件有关系,我们用的是CPORT3.1
[解决办法]



  問題解決了,我來接點分。呵呵

热点排行