我对USB设备编程非常陌生,所以如果问题很愚蠢,请接受我的歉意。
我有一个要在嵌入式应用程序中使用的简单USB设备(这是一个滤镜轮设备)。供应商已向我提供了基于hidapi的ac源代码。我试图首先在Linux PC上运行一个简单的应用程序。我可以成功构建该项目,但是在运行该项目时,它会在枚举步骤以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: %ls\n",cur_dev->vendor_id, cur_dev->product_id, cur_dev->serial_number);
cur_dev = cur_dev->next;
}
谢谢@shellter。我从使用libusb的hid.c更改为用于本机linux的hid.c,并通过了枚举步骤。现在,它无法打开设备(/ dev / hidraw0)。open(path,0_RDWR)调用不会打开设备。
我认为这是权限问题?我读了几篇我应该通过setuid修复它的文章,对于某个应该与隐藏设备进行通信的程序,我应该如何更改此权限?我可以设置一个环境变量吗?
非常感谢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。