繁体   English   中英

如何使用c获取总线和开发人员信息

[英]how to get bus and dev info using c

我想阅读使用C语言连接到PC的usb串行设备的总线和dev。 我如何获得该信息,请帮助我...示例我想从下面阅读Trust International USB设备总线信息和Device info。

lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 014: ID 15d9:0a4f Trust International B.V. 
Bus 001 Device 009: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard
Bus 001 Device 004: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如何使用C语言?

在标准C中无法执行此操作,因为标准C没有说明USB。

您需要使用特定于平台的代码,这使其非常适合将其包装到库中。

libusb是其中一种非常常用的库。 像这样描述:

libusb是一个C库,使应用程序可以轻松访问许多不同操作系统上的USB设备。

您可以从popen ()方法执行lsusb,然后从lsusb报告的各行将fgets()作为字符数组执行。

从每个数组中提取,然后使用sscanf()或您选择的任何其他String操纵函数提取总线和设备ID,因为总线和设备ID的位置始终是固定的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM