介绍
libusb是一个开源图书馆,允许你从userspace与USB设备。为更多的信息,看libusb主页。
本文档旨在应用程序开发者希望与USB外围设备从自己的软件。本文档进行审查后,反馈和问题可以被送到libusb-devel邮寄名单。
承担本文档的知识来操作USB设备从软件的观点(描述符、构造、接口、端点,控制/批量/中断/同步转移、等)。充分的信息,可以发现,在USB 2.0规格这是可免费下载。你总可以找到少通过搜索网络详细的介绍。
库的特性
*所有转会类型的支持(控制/批量/中断/同步)
* 2传输接口:
1。同步(简单)
2。异步的(更复杂的是,但更有力)
*线程安全性(虽然异步界面意味着你通常不需要线程)
*轻与精益生产的API
*兼容libusb-0.1通过libusb-compat-0.1翻译层
开始
开始阅读API文件,从模块页连接到各种不同种类的libusb的功能。
决定你将不得不做出是否能使用同步和异步的数据转移的接口。同步和异步设备I / O文件提供了洞察到这个话题。
一些例子说明项目中都能找到libusb源汇分布”例子下“子目录。libusb名单的网页包括实际使用libusb工程实例。
错误处理
libusb函数返回0通常由于密码错误的成功或失败。这些消极的错误码与LIBUSB_ERROR这些常量列上其他文档页。
调试信息测井
libusb不日志的任何讯息默认。你的应用程序是因此自由关闭stdout / stderr和描述符可以重复使用无负担。
libusb_set_debug的功能能被用来启用stdout / stderr测井一定的信息。根据标准配置,libusb并不日志什么都没有,所以请尽量使用这个函数能够让错误(警告/信息消息。它将帮助你调试问题,与您的软件。
记录信息的非结构化的。没有一对一的对应关系信息被记录了和成功或失败的代码返回值libusb功能。没有格式留言,,所以你不应该试图捕捉或解析。他们不,不会被局部的小范围内。这些信息是不适合你的申请被传递用户,相反,你应该解释错误代码libusb回来功能,提供适当的通知用户。这些信息被简单地在那里帮助你作为一个程序员来说,如果你困惑是因为你有古怪的错误代码从libusb功能,使信息测井可能会给你一个合适的解释。
LIBUSB_DEBUG 环境的变量可以被用于使信息测井运行时间。这个环境变数应该设置一个数字,它解释libusb_set_debug相同()的参数。当这个环境变量设置, 这条消息就测井显示信息的详细程度是固定的,libusb_set_debug()有效什么也不做。
libusb可以编译时没有任何采伐功能,有利于嵌入式系统中使用。在这种情况下,libusb_set_debug()和LIBUSB_DEBUG环境变量没有效果。
libusb也可以编译时详细的调试信息。当图书馆,自编的所有消息verbosities总是logged. libusb_set_debug()和LIBUSB_DEBUG环境变量没有效果。
其他的话
libusb确实有缺陷。试图文件的警告页还不如这花一朵呢。