## 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 ```