USB
说明
USB可用于计算机连接各种外设,是一种串行总线接口标准,也是一种输入输出接口规范。
软件
USB上位机库
libusb
为USB设备提供通用访问的C库。
对于采用Windows操作系统的设备,需要使用libusbK定制设备驱动。
嵌入式USB设备库
usb.ids
usb.ids收集了各种USB设备的ID信息,包括但不限于制造商ID(VID)、设备ID、子系统ID与设备类ID。操作系统可通过各种ID信息识别一个USB设备。
网址:http://www.linux-usb.org/usb-ids.html
笔记
定位USB串口设备路径
在将USB作为内部总线,并挂接USB转串口设备提供串口时,通常需要定位USB串口设备,使用串口号通常是不稳的。
本人通过总线号加设备路径(设备号)区分设备,如1-2.1.4
表示USB总线(根设备)1,设备路径为2.1.4(第1层的集线器的端口为2,第2层的集线器的端口为1,第三层的集线器的端口为4)。

本方法不仅可用于串口设备,还可用于其它设备,理论上的所有的USB设备均可使用此方法定位。
如果使用libusb访问usb设备,可采用以下函数获取相关信息:
- 总线号:
uint8_t libusb_get_bus_number(libusb_device *dev)
- 设备路径(设备号):
int libusb_get_port_path (libusb_context * ctx,libusb_device *dev,uint8_t *port_numbers,uint8_t port_numbers_len)
或int libusb_get_port_numbers(libusb_device *dev,uint8_t *port_numbers,int port_numbers_len)
官方资料
相关资料
- linux-usb:http://www.linux-usb.org/
- candleLight:USB转CAN适配器。