7个不稳定版本
使用旧的Rust 2015
0.3.0 | 2016年9月10日 |
---|---|
0.2.2 | 2015年11月5日 |
0.2.1 | 2015年10月18日 |
0.1.1 | 2015年5月24日 |
0.0.2 | 2015年3月29日 |
73 in #usb-device
2,348 每月下载量
在 22 个crate(20个直接) 中使用
150KB
3K SLoC
Libusb
这个crate提供了对本地libusb
库的安全包装。它应用RAII模式和Rust生命周期以确保所有libusb
功能的安全使用。RAII模式确保在不再需要时释放所有获取的资源,Rust生命周期确保以适当的顺序释放资源。
依赖项
为了使用libusb
crate,您必须安装本地libusb
库,使其可以通过pkg-config
找到。
所有受本地libusb
库支持的系统也受libusb
crate的支持。它已在Linux、OS X和Windows上进行了测试。
交叉编译
当交叉编译到国外目标时,可以使用libusb
crate。如何在libusb-sys
crate的README中解释了如何交叉编译libusb
的详细信息。
使用方法
在Cargo.toml
中将libusb
作为依赖项添加
[dependencies]
libusb = "0.3"
导入libusb
crate。几乎所有libusb
功能的起点是创建一个上下文对象。有了上下文对象,您可以列出设备、读取它们的描述符、打开它们,并与它们的端点进行通信
extern crate libusb;
fn main() {
let mut context = libusb::Context::new().unwrap();
for mut device in context.devices().unwrap().iter() {
let device_desc = device.device_descriptor().unwrap();
println!("Bus {:03} Device {:03} ID {:04x}:{:04x}",
device.bus_number(),
device.address(),
device_desc.vendor_id(),
device_desc.product_id());
}
}
贡献者
许可证
版权 © 2015 David Cuddeback
根据MIT 许可证分发。
依赖项
~195KB