C语言 libusb for Android using open2(, int fd)



我从

编译了Android设备上使用的libusb修改版本https://github.com/martinmarinov/rtl_tcp_andro-/blob/master/jni/libusb-andro/README

有关于如何在C程序中使用这个特定函数的例子吗?

  1. 需要包含哪些头文件才能使这个库工作
  2. 关于如何在C程序中使用open2(, int fd)的任何示例

这不是一个新的库。只是libusb的修改版本。因此,所有libusb命令在这里都适用。唯一的区别是libusb_open2,您必须使用它来代替libusb_open。从libusb/libusb.h文件中,可以看到libusb_open2的原型。

int LIBUSB_CALL libusb_open2(libusb_device *dev, libusb_device_handle **handle, int fd);

现在,对于在android上使用libusb,步骤如下。

  1. 首先获得您感兴趣的USB设备的权限。详见:http://developer.android.com/guide/topics/connectivity/usb/host.html

  2. 然后使用getFileDescriptor()方法提取USB设备的文件描述符

  3. 使用此文件描述符打开到usb设备的连接。即创建libusb_device

现在你可以使用这个libusb_device来做所有可以在计算机上使用libusb完成的事情。在libusb网站上有很多例子。

对于其他查询,您可以在freenode上挂起#libusb。有关具体示例,请参阅文档。你自己试试吧。如果被困在某处,问这里。

最新更新