Я программирую встроенный компьютер Linux.
Версия для Linux: Linux 2.6.28
Это устройство Linux имеет только один порт USB, и мне нужно два порта. Поэтому я добавил USB-концентратор (Deltaco HU-480). Когда я подключаю два USB-устройства (RS232-adatpter с чипами Profilink PL2303), я вижу, что они находятся в / dev и называются ttyUSB0 и ttyUSB1.
Когда я пытаюсь открыть эти два порта в моей программе на С ++, я получаю сообщение об ошибке при открытии второго порта.
Это мой код:
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, это всегда второй порт, который не открывается. Если я закрываю первый порт перед открытием второго, он открывается правильно.
Есть идеи, почему невозможно открыть два порта одновременно?
Задача ещё не решена.
Других решений пока нет …