多线程操作多个串口出现有关问题(只有一个串口有效)
多线程操作多个串口出现问题(只有一个串口有效)
机器有4个串口(本身有2个,再加2个USB转的)
程序开启四个线程,一个线程对应一个串口,,每个线程的操作内容都是一样的。
问题是:
每次都只有一个线程能够返回数据,并且是最先建立的那个线程。。
是否是计算机上的串口只能同时用一个???有啥解决办法
PS:如果不用线程,一个一个串口顺序操作过来,没有任何问题。。
------解决方案--------------------
"每个串口对应一条独立总线"是啥意思?你的线程里面怎么操作的?
是不是你用的控件只支持一个串口的?同时操作多个串口是没问题的。
------解决方案--------------------
电脑可用的串口都可以用的,不论多少个
------解决方案--------------------
解决办法:每个线程要开启临界区,结束时才退出临界区
------解决方案--------------------
肯定没关系的.我们用过176个串口,11台串口服务器.
应该是线程没有建立好,加入SLEEP试试看.
另外每个线程再建立自己的串口缓冲区,应该没有问题的
可能用的串口控件有关系,我们用的是CPORT3.1
------解决方案--------------------
問題解決了,我來接點分。呵呵
机器有4个串口(本身有2个,再加2个USB转的)
程序开启四个线程,一个线程对应一个串口,,每个线程的操作内容都是一样的。
问题是:
每次都只有一个线程能够返回数据,并且是最先建立的那个线程。。
是否是计算机上的串口只能同时用一个???有啥解决办法
PS:如果不用线程,一个一个串口顺序操作过来,没有任何问题。。
------解决方案--------------------
"每个串口对应一条独立总线"是啥意思?你的线程里面怎么操作的?
是不是你用的控件只支持一个串口的?同时操作多个串口是没问题的。
------解决方案--------------------
电脑可用的串口都可以用的,不论多少个
------解决方案--------------------
解决办法:每个线程要开启临界区,结束时才退出临界区
------解决方案--------------------
肯定没关系的.我们用过176个串口,11台串口服务器.
应该是线程没有建立好,加入SLEEP试试看.
另外每个线程再建立自己的串口缓冲区,应该没有问题的
可能用的串口控件有关系,我们用的是CPORT3.1
------解决方案--------------------
問題解決了,我來接點分。呵呵