gpt4 book ai didi

c++ - 如何在 Linux 上重现 Windows winusb 驱动程序的功能?我什至需要吗?

转载 作者:行者123 更新时间:2023-12-04 07:25:49 29 4
gpt4 key购买 nike

我需要在 Linux 上实现一个驱动 USB 连接设备(医疗仪器)的应用程序。该应用程序将使用 C++(2011 标准)编写。
当前应用程序是用 C# 为 Windows 10 编写的,并使用为设备枚举的标准 Winusb 驱动程序。对于命令和返回的事件/中断,我有一个完整的协议(protocol)规范。不幸的是,我不确定如何将这些传递到 Linux 中的 USB 层。如果它是一个简单的串行设备,那将没有问题,但我猜测命令响应和中断事件是由驱动程序使用 Winusb 驱动程序中的功能多路复用的。
就文档而言,最好的起点是哪里?或者,是否有一个 Linux 库(或驱动程序)提供与 Linux 的 winusb 或多或少相同的功能?
任何帮助表示赞赏。谢谢

最佳答案

Alternatively, is there a Linux library (or driver) that provides more or less the same functionality as winusb for Linux?


一种方法是直接使用 USB 的通用内核 API(请参阅异步 I/O 部分以获取中断):
https://www.kernel.org/doc/html/v4.15/driver-api/usb/usb.html
这是 WinUSB 的严格 Linux 等价物。
可能不太难的方法是使用 libusb,它还可以为您提供跨平台功能。
(我假设您的设备被内核正确识别,并且不需要自定义驱动程序)

关于c++ - 如何在 Linux 上重现 Windows winusb 驱动程序的功能?我什至需要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68222338/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com