STM32F4-USB通信HID
新建工程项目
直接搜索STM32F4类型的芯片
常规配置
大家记得这里,一定要选择你的这个debug调试器。如果不选的话,就可能会导致你下一次下不进去程序了,这样的话就比较麻烦。
Pinout & Configuration页面配置 USB
STM32F4有Device(FS)Full Speed12Mbit/s以及Device High Speed 480Mbit/s。这里我们选中勾选USB OTG_HS并且选择Device_Only。
IP Audio Device Class(IP音频设备类):这个类别定义了一种用于在!P网络上传输音频数据的设备。它允许音频设备通过IP协议与计算机或其他设备进行通信,从而实现音频数据的传输和控制。
IP Communication Device Class(IP通信设备类):这个类别定义了一种用于在IP网络上进行通信的设备。它提供了一套标准接口和协议,使设备能够与计算机或其他设备进行数据交换、实时通信和控制。
IP Download Firmware Update Class(IP固件下载更新类):这个类别定义了一种用于通过!P网络下载和更新设备固件的设备。它提供了一套标准协议和接口,使设备能够通过IP协议接收、存储和安装固件更新。
IP Human interface Device Class(IP人机果面设备类):这个类别定义了一种用干通过!P网络连接人机果面设备的设备。它允许用户通过!P协议与设备进行交互和控制,例如通过远程访问控制计算机的鼠标、键盘或触摸屏等输入设备。
IP Custom Human Interface Device Class(IP自定义人机界面设备类):这个类别定义了一种用于通过!P网络连接自定义人机界面设备的设备。它提供了灵活的接口和协议,使设备能够与计算机或其他设备进行自定义的人机界面交互和控制。
IP Mass Storage Device Class(IP大容量存储设备类):这个类别定义了一种用于通过!P网络连接大容量存储设备的设备。它允许用户通过IP协议访问、传输和管理存储设备上的文件和数据,类似于传统的USB大容量存储设备(如U盘或移动硬盘)的功能。
需要修改三个参数:
CUSTOM HID FS BINTERVAL,这个设置的是HID设备的通信时间间隔,单位为ms,最快可以为1ms间隔;
USBD CUSTOM HID REPORT DESC SIZE,设置的是报告描述符的长度,设为34(后面会提到为什么是这个值);
USBD CUSTOMHID OUTREPORT BUF SIZE,比较好理解设置的是发送缓冲区的大小,HID一次最多可以发送64个字节,我们设置为最大值。后面再程序中需要修改成512字节。