![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Использование libusb с Delphi на Windows 64-битной системе: общение с кастомным устройствомDelphi , ОС и Железо , Драйвера
Недавно я столкнулся с проблемой, когда пытался использовать 32-битное приложение Delphi для общения с кастомным USB-устройством на 64-битной системе Windows. Я читал, что libusb, который я планировал использовать, может не работать на 64-битных системах, и это вызвало у меня некоторые опасения. Я подумал, что мое 32-битное приложение не сможет использовать 64-битный драйвер libusb и, следовательно, не сможет общаться с моим кастомным устройством на этих системах. Но так ли это на самом деле? Подтвержденный ответ После некоторых исследований я выяснил, что libusb 1.0 с бэкендом WinUSB (драйвер Microsoft, входящий в состав Windows) не имеет проблем с общением с 32-битным приложением Delphi на обеих платформах, x86 и x64. Однако, если вы используете старую версию libusb 0.1 с драйвером libusb-win32, вам может потребоваться использовать 32-битную версию DLL (libusb0_x86.dll), которая вызывает 32-битный драйвер, или 64-битную версию DLL (libusb0.dll), которая вызывает 64-битный драйвер. Альтернативный ответ Некоторые пользователиuggested, что если у вас есть 64-битный драйвер, он должен работать на 64-битной системе, при условии, что драйвер работает правильно и подписан должным образом. Tanto 32-битные, как и 64-битные приложения могут управлять драйвером через различные механизмы связи, такие как Ioctl или MMF-файлы. Главный вопрос в том, правильно ли написан весь код, но этот вопрос относится к любой библиотеке и на любой платформе. Пример кода на Object Pascal (Delphi) Вот пример кода на Object Pascal (Delphi), который демонстрирует использование libusb для общения с кастомным USB-устройством:
Вывод В целом, использование libusb с Delphi на 64-битной системе Windows не должно вызывать особых проблем, если вы используете libusb 1.0 с бэкендом WinUSB. Если вы используете старую версию libusb 0.1 с драйвером libusb-win32, вам может потребоваться учитывать 32-битную и 64-битную версии DLL и драйверов. В любом случае, правильное использование libusb в сочетании с правильно написанным кодом должно гарантировать успешное общение с вашим кастомным USB-устройством на любой поддерживаемой платформе. Использование libusb с Delphi на 64-битной системе Windows: общение с кастомным устройством. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |