серийно програмиране във vc++ mfc

Пиша две приложения, едното непрекъснато слуша "COM3" порт и отпечатва данни.

Когато стартирам друго приложение, което трябва да пише на този порт "COM3", получавам грешка, че серийният порт не съществува за запис.

могат ли 2 приложения да отварят манипулатор за достъп до същия сериен COM порт в нашата система по това време


person abhinav    schedule 12.05.2011    source източник
comment
Какви са параметрите, които сте предали на CreateFile при отваряне на серийния порт?   -  person harper    schedule 12.05.2011
comment
hSerial=Създаване на файл(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