【发布时间】:2014-06-09 00:42:01
【问题描述】:
我从
编译了 libusb 的修改版本以用于 Android 设备https://github.com/martinmarinov/rtl_tcp_andro-/blob/master/jni/libusb-andro/README
有没有关于如何在 C 程序中使用这个特定函数的示例?
- 需要包含哪些标头才能使该库正常工作。
- 关于如何在 C 程序中使用 open2(, int fd) 的任何示例
【问题讨论】:
我从
编译了 libusb 的修改版本以用于 Android 设备https://github.com/martinmarinov/rtl_tcp_andro-/blob/master/jni/libusb-andro/README
有没有关于如何在 C 程序中使用这个特定函数的示例?
【问题讨论】:
这不是新图书馆。只有 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,步骤如下。
首先获取您感兴趣的USB设备的权限。详细信息在这里:http://developer.android.com/guide/topics/connectivity/usb/host.html
然后使用getFileDescriptor()的方法提取USB设备的文件描述符
使用此文件描述符打开与 USB 设备的连接。那就是制作一个 libusb_device。
现在您可以使用这个 libusb_device 来完成所有可以在计算机上使用 libusb 完成的事情。 libusb website上给出了很多例子。
对于其他查询,您可以在 freenode 上的 #libusb 上进行视频群聊。 有关具体示例,请查看文档。自己试试。如果卡在某个地方,请在这里询问。不要指望用勺子喂食。
【讨论】: