Проблема с последовательным портом C ++ - PullRequest
2 голосов
/ 05 ноября 2010

У меня проблема с подключением к любому последовательному порту (хочу обменяться с Arduino) с помощью c ++ в visual studio.

Я использую SerialClass , указанный на игровой площадке Arduino,но не могу открыть ручку для моего порта.Выдает ERROR_FILE_NOT_FOUND при каждой попытке ..

Я тестировал много других способов обозначения порта:

"COM1"
"COM1:"
"\\.\COM1"

, но ничего не работает.

Порт доступенв системе, и работает нормально, используя Putty или Arduino IDE.Кроме того, он не блокируется другими процессами.

Я использую Windows 7 x64, но проект Win32.

Класс создан с

serialPort = new Serial((char*)port);

и в строке ошибки указано правильное имя порта.

Что я делаю не так?

Открытие файла тоже не работает.

Ответы [ 3 ]

4 голосов
/ 05 ноября 2010

Хорошим примером других, использующих API для открытия последовательного порта вручную, является здесь .Соответствующая часть (относительно вашего вопроса) показывает их, используя номер порта следующим образом:

...
CreateFile("\\\\.\\COM1",GENERIC_WRITE
...

, поэтому вместо опций, которые вы пробовали, может быть \\\\.\\COM1.

1 голос
/ 09 ноября 2010

Найден ответ!

Я преобразовал строку с помощью (LPCTSTR), но это не вернет правильную строку.Пришлось использовать

const WCHAR FileFullPath[] = {L"COM4"} ;

для конвертации.

0 голосов
/ 05 ноября 2010

Вы уверены, что это не проблема драйвера для 64-битной Windows 7?

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