Добрый день коллеги,
Пожалуйства сооритентируйте как правильно работать с USB Com портом
Работать должно на Win и Mac (Mono)
Мне надо определить правильный COM порт ( тот который был создан моим устройством )
и затем работать с ним передавая и принимая данные.
Пока мне это видится так.
1) Используя библитеку USBLibDotNet определяю устройство по VID и PID
UsbDeviceFinder usbFinder = new UsbDeviceFinder(VID, PID);
UsbDevice usbDevice = UsbDevice.OpenUsbDevice(usbFinder);
2) Использую SerialPort класс для работы с найденным ком портом
Нет ли в моих умозаключениях изъянов?
Здравствуйте, salvequick, Вы писали:
S>Пожалуйства сооритентируйте как правильно работать с USB Com портом
S>Работать должно на Win и Mac (Mono)
В Windows из реестра можно только
прочитать список активных COM-портов (к которым хоть что нибудь подключено). Про эти примеры наверно писал BlackErick. Однако же в таком случае у пользователя надо обязательно спрашивать этот ли COM-порт у него. Иначе если ты попробуеш приконектится не к тому устройству со совим (не тем) протоколом, то можеш вывести из строя работу с тем другом устройством.
Здравствуйте, VladCore, Вы писали:
VC>В Windows из реестра можно только прочитать список активных COM-портов (к которым хоть что нибудь подключено). Про эти примеры наверно писал BlackErick. Однако же в таком случае у пользователя надо обязательно спрашивать этот ли COM-порт у него. Иначе если ты попробуеш приконектится не к тому устройству со совим (не тем) протоколом, то можеш вывести из строя работу с тем другом устройством.
При подключении моего USB устройства в систему появляется виртуальный COM порт.
Т.е COM порт это USB устройство.
Я к сожалению не могу спросить у пользователя какой COM порт использовать.
Мне надо то самому понять какой порт правильный.
Поэтому я и подумал о чтении списка USB устройств.
Также код должен быть кроссплатформенным, в рамках Mono должно работать.
Я не могу использовать WIN API, чтение реестра и т.д
Здравствуйте, salvequick, Вы писали:
S>Я к сожалению не могу спросить у пользователя какой COM порт использовать.
S>Мне надо то самому понять какой порт правильный.
S>Поэтому я и подумал о чтении списка USB устройств.
OK. И что не получается? И в реестре и в WMI (MSSerial_PortName) список COM-портов есть и там и там.
S>Также код должен быть кроссплатформенным, в рамках Mono должно работать.
S>Я не могу использовать WIN API, чтение реестра и т.д
И где про это написано