开发者社区> 问答> 正文

隐藏设备应用程序执行失败

我对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;
    }

展开
收起
祖安文状元 2020-01-08 15:21:40 599 0
1 条回答
写回答
取消 提交回答
  • 谢谢@shellter。我从使用libusb的hid.c更改为用于本机linux的hid.c,并通过了枚举步骤。现在,它无法打开设备(/ dev / hidraw0)。open(path,0_RDWR)调用不会打开设备。

    我认为这是权限问题?我读了几篇我应该通过setuid修复它的文章,对于某个应该与隐藏设备进行通信的程序,我应该如何更改此权限?我可以设置一个环境变量吗?

    非常感谢。

    2020-01-08 15:21:45
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
内容驱动游戏分发 立即下载
面向失败设计 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载