У меня есть приложение, в котором я записываю данные в последовательный порт через преобразователь USB в RS422. Этот кабель преобразователя подключается к компьютеру через USB-концентратор. Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я меняю компьютер, на котором я запускаю приложение, изменяется имя COM-порта. Поэтому мне придется изменить это в своем коде и перекомпилировать код для запуска приложения. В настоящее время Ниже приведен код, я использую для инициализации последовательного порта:Логика для распознавания имени COM-порта, к которому подключен разъем USB к RS422 (для приложения Windows))
if ((comport = CreateFile("\\\\.\\COM7", GENERIC_WRITE, 0,
NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL)) == INVALID_HANDLE_VALUE)
{
return false;
}
Здесь я только упомянуть имя COM-порта. Я хотел бы знать, есть ли API для определения статуса COM-портов и «на лету» распознать COM-порт, к которому подключен мой конвертер?
Можете ли вы сохранить имя порта в каком-то конфигурационном файле? Таким образом вам не придется перекомпилировать вашу программу, просто измените текст в файле конфигурации. –
Это можно сделать, но я бы хотел, чтобы это было автоматически и произошло во время процесса инициализации приложения. – vik22