42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
|
## USB-HID
|
|||
|
|
|||
|
> 参考:[玩转USB HID系列:Linux下使用C语言和libusb开发USB HID_hid c++ usb linux-CSDN博客](https://blog.csdn.net/whstudio123/article/details/104348736)
|
|||
|
|
|||
|
#### 1、使用用途
|
|||
|
|
|||
|
USB-HID是USB的人体学输入设备(USB Human Input Device),这是一种免驱动的USB通信方式,适合用于数据量较小的通信,例如机器人硬件驱动的控制、外置IMU、VR手柄类设备。这个仓库主要用于解决STM32和Linux、windows的通信问题。
|
|||
|
|
|||
|
一般来说,STM32最常用的是采用串口通信,但是串口有可能存在驱动不兼容、相同串口插入主机后分不清的问题。所以,部分情况采用USB-HID能够解决串口驱动问题和相同串口干扰问题。
|
|||
|
|
|||
|
#### 2、代码编译
|
|||
|
|
|||
|
##### 2.1 windows
|
|||
|
|
|||
|
##### 2.2 Linux
|
|||
|
|
|||
|
##### 2.2.1 环境要求
|
|||
|
|
|||
|
```shell
|
|||
|
sudo apt-get install libusb-1.0-0
|
|||
|
```
|
|||
|
|
|||
|
##### 2.2.2 样例和编译
|
|||
|
|
|||
|
usb_test_show.cpp : 显示各个连接到主机的usb信息
|
|||
|
|
|||
|
```shell
|
|||
|
# firefly RK3588已经集成libusb 1.0
|
|||
|
gcc usb_test_show.cpp -o hid_test_show -lusb-1.0
|
|||
|
# 运行
|
|||
|
sudo ./hid_test_show
|
|||
|
```
|
|||
|
|
|||
|
usb_test_show.cpp :读取USB信息(IMU设备DEMO)并显示
|
|||
|
|
|||
|
```shell
|
|||
|
gcc usb_read_data.cpp -o hid -lusb-1.0
|
|||
|
# 执行
|
|||
|
sudo ./hid
|
|||
|
```
|
|||
|
|