Ошибка открытия последовательного (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 и задаюсь вопросом, может ли это быть проблемой? Я прочитал в одной теме, что есть проблема, если окна не активируются должным образом, но это было немного расплывчатым.
Любой совет будет высоко ценится, большое спасибо заранее.