Работа с USB (Windows) – подскажите библиотеку или враппер
Модератор: Модераторы
Работа с USB (Windows) – подскажите библиотеку или враппер
Подскажите библиотеку к Lazarus для работы с USB под Windows. Или враппер.
Alex2013, я верно понимаю, что более свежего в этой области ничего нет?
Не сказал бы что новее но все-же ...
https://forum.lazarus.freepascal.org/in ... ic=16222.0
Зы
Все что я делал с усб это что-то вроде "переключателя гирлянды" или эмулятора ком-порта и мне инфы хватило .. Но разумеется я понял что там неслабые такие "глубины" заныканы. Так что все зависит от того, что именно вам от USB нужно.
https://forum.lazarus.freepascal.org/in ... ic=16222.0
Зы
Все что я делал с усб это что-то вроде "переключателя гирлянды" или эмулятора ком-порта и мне инфы хватило .. Но разумеется я понял что там неслабые такие "глубины" заныканы. Так что все зависит от того, что именно вам от USB нужно.
Спасибо. Предполагается работа с COM-портом USB-шным — приём с него данных, их парсинг в соответствии с протоколом и визуализация . Есть некий прибор с довольно паршивой вспомогательной программой вывода данных на экран ПК, поэтому возникла идея написать на Лазарусе своё приложение.
смотри в сторону LibUSBtrengtor писал(а):Предполагается работа с COM-портом USB-шным
USB - это шина, На одной шине могут быть до 128 устройств подключены(спецификация USB2.0)
Работать с COM портом на уровне пакетов данных USB - зачем?
Если прога работает с COM потом - то нужно работать только с ним. То есть ОС уже при подключении устройства определяет по VID/PID нужный драйвер и поставляет его, тот линкуется к устройству и регистрирует COM порт.
Если предполагается чуять подключения по узб определенного стройства(по VID/PID, номеру порта и т.п.) и вовремя коннектится или наоборот корректно отсоединсятся без ошибок - то в LibUSB есть такие функции..
https://wiki.freepascal.org/Hardware_Access/ru
olegy123 писал(а):Работать с COM портом на уровне пакетов данных USB - зачем?
Если прога работает с COM потом - то нужно работать только с ним. То есть ОС уже при подключении устройства определяет по VID/PID нужный драйвер и поставляет его, тот линкуется к устройству и регистрирует COM порт.
Если предполагается чуять подключения по узб определенного стройства(по VID/PID, номеру порта и т.п.) и вовремя коннектится или наоборот корректно отсоединсятся без ошибок - то в LibUSB есть такие функции..
https://wiki.freepascal.org/Hardware_Access/ru
Ну тут походу имеется наверное работа с USB-TTL.
trengtor
У нас датчики RFID-карточки тоже работает через USB-COM порт. USB при этом полностью прозрачен. Программа, которая читает карточки, убеждена, что работает с COM-портом напрямую. USB она не видит. Т.е. алгоритм программы будет полностью ориентирован на работу с COM-портом.
Естественно при условии, что Вы поставили драйвер вашего USB-COM-порта...
У нас датчики RFID-карточки тоже работает через USB-COM порт. USB при этом полностью прозрачен. Программа, которая читает карточки, убеждена, что работает с COM-портом напрямую. USB она не видит. Т.е. алгоритм программы будет полностью ориентирован на работу с COM-портом.
Естественно при условии, что Вы поставили драйвер вашего USB-COM-порта...
Ок, спасибо всем за разъяснения.
Да, работа с виртуальным COM-портом USB-интерфейса.
Добавлено спустя 7 минут 51 секунду:
Библиотека TLazSerial?
Да, работа с виртуальным COM-портом USB-интерфейса.
Добавлено спустя 7 минут 51 секунду:
Vadim писал(а):trengtor
У нас датчики RFID-карточки тоже работает через USB-COM порт.
Библиотека TLazSerial?
trengtor писал(а):Библиотека TLazSerial?
Нет. Но это неважно. Подойдёт любая устраивающая Вас библиотека.
Дело в том, что лично я делал общение эрфидок через USB с Линуксом и писал чисто на FreePascal, без визуального интерфейса. Потому как визуал там не нужен был. А товарищ делал для Винды, но он писал на Дельфи и какую библиотеку брал я сейчас уже не помню, давно это было. Там у него единственная проблема была - указать правильную скорость обмена, потому что на скоростях выше или ниже эрфидка уже не работала.
TLazSerial построен на Synaser (TBlockSerial) из библиотеки Synapse.
Еще есть юнит Serial прямо в Freepascal.
Я лично использую всегда Synaser и никогда не было проблем: USB-serial конверторы с чипом FTDI, PL2303. Ставите драйвер для ОС и работаете как с обычным последовательным портом.
Еще есть юнит Serial прямо в Freepascal.
Я лично использую всегда Synaser и никогда не было проблем: USB-serial конверторы с чипом FTDI, PL2303. Ставите драйвер для ОС и работаете как с обычным последовательным портом.
