c-hid设备应用程序的执行失败



我对USB设备编程很陌生,所以如果这个问题很愚蠢,请接受我的道歉。

我有一个简单的usb设备(它是一个filterwheel设备(,我想在嵌入式应用程序中使用。供应商为我提供了一个基于hidapi的c源代码。我正在尝试先在linux电脑上运行一个简单的应用程序。我可以成功地构建项目,但当我运行项目时,它在枚举步骤终止,et值为-1。

设备已连接到我的计算机。我完全不知道该怎么做才能让它识别设备。如有任何建议,我们将不胜感激。

我不知道我可以在这里添加什么信息,应用程序看起来像这样:

int main()
{
hsfw_wheel_info *devs, *cur_dev;
devs = enumerate_wheels();
cur_dev = devs;
while (cur_dev) {
printf("Device Found - type: %04hx %04hx serial_number: %lsn",cur_dev->vendor_id, cur_dev->product_id, cur_dev->serial_number);
cur_dev = cur_dev->next;
}

enumerate_files是一个使用hid_enumerate的函数。

谢谢

谢谢@shellter。我从使用libusb的hid.c改为使用原生linux的hid.c,并通过了枚举步骤。现在它无法打开设备(/dev/hidraw0(。open(path,0_RDWR(调用不会打开设备。

我想是权限问题吧?我读了几篇文章,说我应该通过setuid来修复它,我应该如何更改这个程序的权限,这个程序应该在某个时候与hid设备通信?有没有我可以设置的环境变量?

非常感谢。

相关内容

最新更新