我正在尝试使用 python 与通用 HID 设备进行通信。
我读过用 C 编写的 HIDAPI 库,在简单稳定的跨平台 HID 通信方面优于 libusb1.0。但是,没有人费心展示如何从 python 脚本中调用 HIDAPI 函数,这就是我遇到麻烦的地方。
我了解足够多的 ctypes 来调用非常简单的 C 函数,例如:
int add(int n1, int n2) {
return n1 + n2;
}
麻烦的是HIDAPI函数比较复杂,比如(在HIDAPI头文件中):
struct hid_device_info HID_API_EXPORT * HID_API_CALL hid_enumerate(unsigned short vendor_id, unsigned short product_id);
它指向这个结构(在mac 分支 C 文件中):
struct hid_device_info HID_API_EXPORT *hid_enumerate(unsigned short vendor_id, unsigned short product_id)
{
...
}
其中'...'是一大堆操作系统级代码,最终返回“指向结构#hid_device类型的链接列表的指针,包含有关HID设备的信息”
您将如何使用 ctypes 或任何其他工具在 python 脚本中调用这样的函数?我希望这个 stackoverflow 页面可以作为所有其他想要解决相同问题的人的指南,所以请提供大量详细信息,谢谢。