Ошибка открытия последовательного (COM) порта - Windows 10

Я пытаюсь открыть последовательный порт, чтобы я мог получить данные Uart от устройства со стандартным кодом CreateFile() ниже;

HANDLE hComm;                          // Handle to the Serial port
char  ComPortName[] = "COM4";  // Name of the Serial port(May Change) to be opened,

/*---------------------------------- Opening the Serial Port -------------------------------------------*/

hComm = CreateFile(ComPortName,                  // Name of the Port to be Opened
    GENERIC_READ | GENERIC_WRITE, // Read/Write Access
    0,                            // No Sharing, ports cant be shared
    NULL,                         // No Security
    OPEN_EXISTING,                // Open existing port only
    0,                            // Non Overlapped I/O
    NULL);                        // Null for Comm Devices

if (hComm == INVALID_HANDLE_VALUE)
    printf("\n    Error! - Port %s can't be opened\n", ComPortName);
else
    printf("\n    Port %s Opened\n ", ComPortName);

Однако каждый раз он возвращает неверный дескриптор. Я немного новичок, боюсь, но я хорошо изучил это и не вижу причин для этого?! Я попробовал "COM4:", как это предлагается в другом посте, и "\\\\.\\COM4" (хотя я знаю, что это должно быть допустимо только для ком-порта 10 и более), но все равно не радость! Порт определенно есть, так как я могу нормально подключаться и получать данные, используя как Teraterm, так и RealTerm, и это не тот случай, когда он уже используется.

Я использую Windows 10 на Mac с Boot Camp и задаюсь вопросом, может ли это быть проблемой? Я прочитал в одной теме, что есть проблема, если окна не активируются должным образом, но это было немного расплывчатым.

Любой совет будет высоко ценится, большое спасибо заранее.

0 ответов

Другие вопросы по тегам