Как открыть файлы COMXX (последовательный порт) - PullRequest
3 голосов
/ 08 марта 2012

У меня проблема с последовательным портом.

Я написал программу, которая может читать порты с COM1 по COM9, но может открывать COMXX (например, com10, com11 и т. Д.)

Я искал и узнал, что tCOM1 – COM9 являются частью зарезервированных имен в пространствах имен NT. он говорит, что «Для доступа к файлам, таким как COMXX, вам нужно написать« \. \ COMXX ».

Я пробовал это, но не смог.

У кого-нибудь есть идея? Мои наилучшие пожелания ...

Приведенный ниже код возвращает недопустимое значение дескриптора из-за этой проблемы:

myPort = CreateFile("\\.\COM14",
              GENERIC_READ | GENERIC_WRITE,
              0,    /* exclusive access  */
              NULL, /* no security attrs */
              OPEN_EXISTING,
              0,
              NULL );

1 Ответ

5 голосов
/ 08 марта 2012

Вам необходимо экранировать обратную косую черту в параметре имени файла:

myPort = CreateFile("\\\\.\\COM14",
              GENERIC_READ | GENERIC_WRITE,
              0,    /* exclusive access  */
              NULL, /* no security attrs */
              OPEN_EXISTING,
              0,
              NULL );

Вы также пытаетесь открыть COM-порт 14. У вас действительно есть 14 COM-портов на вашем компьютере? Попробуйте COM1 вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...