打开第二个ttyUSB端口时出错

时间:2016-10-07 08:56:19

标签: c++ linux usb

我正在编程Linux嵌入式计算机。

Linux版本:Linux 2.6.28

这个linux设备只有一个USB端口,我需要两个端口。所以我添加了一个USB集线器(Deltaco HU-480)。当我连接两个usb设备(RS232- adatpter和profilink PL2303芯片)时,我可以看到它们在/ dev中找到,它们被命名为ttyUSB0和ttyUSB1。

当我尝试在我的c ++程序中打开这两个端口时,打开第二个端口时出错。

这是我的代码:

int USB0 = open( "/dev/ttyUSB0", O_RDWR | O_NDELAY );
perror("USB0 ");
sleep (5);

int USB1 = open( "/dev/ttyUSB1", O_RDWR | O_NDELAY );
perror("USB1 ");
sleep(5);

这就是结果:

USB0:成功

USB1:协议错误

如果我首先打开ttyUSB0或ttyUSB1,那么它就是第二个端口无法打开的问题。如果在打开第二个端口之前关闭第一个端口,它会正确打开。

知道为什么不可能同时打开两个端口?

0 个答案:

没有答案