последовательное программирование в vc++ mfc

Я пишу два приложения, одно из которых постоянно прослушивает порт COM3 и печатает данные.

Когда я запускаю другое приложение, которое должно записывать в этот порт COM3, я получаю сообщение об ошибке: последовательный порт не существует для записи.

могут ли 2 приложения открыть дескриптор для доступа к одному и тому же последовательному COM-порту в нашей системе в то время


person abhinav    schedule 12.05.2011    source источник
comment
Какие параметры вы передали CreateFile при открытии последовательного порта?   -  person harper    schedule 12.05.2011
comment
hSerial=CreateFile(COM3,GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); это мое заявление для создания файла   -  person abhinav    schedule 12.05.2011


Ответы (1)


Это невозможно, Windows не позволяет совместно использовать последовательный порт между процессами. Как только один процесс открывает порт, другой получит ошибку 5 (отказано в доступе), когда попытается открыть тот же порт. Последовательные порты слишком примитивны, чтобы использовать какой-либо протокол совместного использования.

Вам нужен нуль-модем. Либо аппаратно с помощью двух портов подключить RxD к Txd. Или программно — драйвер устройства, эмулирующий последовательные порты. Нравится этот.

person Hans Passant    schedule 12.05.2011
comment
Спасибо за ваш ответ ... я ищу в Интернете последние 2 часа. - person abhinav; 12.05.2011