Доброго времени суток! столкнулся с проблемой (косвенно вызванной моей многострадальной материнкой) - на матери один COM-порт, к нему подключены 2 девайса, каждый из которых использует разные цепи (кроме GND, разумеется): один юзает DCD и RTS, второй - RxD, TxD и DTR. желательно обеспечить их одновременную работу, но софт этого не позволяет - если работает программа для обслуживания одного девайса, то работа проги для второго девайса невозможна, т.к. порт занят. можно ли обойти эту проблему? ЗЫ: второго COM-порта нет, на другие интерфейсы перейти пока что нет возможности. буду весьма признателен за любую информацию.
обойти проблемму можно покупкой pci2com. таких плат валом, стоят копейки. usb2com не рекомендую - глючат сильно.
Хм.. как вариант написать драйвер, чтобы он сделал второй виртуальный порт и перехватывал обращения к первому, обеспечивая совместную работу. Я, правда, не знаю деталей программирования COM порта, но, имхо, раз оно использует разные пины, то можно будет организовать корректную обработку обоих виртуальных портов.
Аппаратно ком-порт позволит одновременую такую работу, т.к. данные для передачи и сигналы управления соответствуют разным портам. Как один из вариантов, может попробовать поиграться с параметром dwShareMode функции CreadeFile при открытии ком-порта, либо её перехватить, если программы, использующие порт не самописные.
Vov4ick я тож об этом подумывал, но решил подождать советов. одна из прог не моя, вторая - самописная, можно будет её переписать малёхо, и запускать сначала не мою, а потом самописную. буду пробовать, спасибо!