在 usbx_customhid_thread_entry 中实现 IN 端点(Endpoint1)向 PC 机 1S 发送一次数据功能。添加 HID report 描述符,我们使用 USB 官网 HID 报告描述符工具生成自定义 Custom HID report 描述符,该工具可以到网址 https://www.usb.org/document-library/hid-descriptor-tool 下载。根据 USB 规范一个 HID 报...
4. USBx 实现 Custom HID 双向通信的步骤 (一) 系统外设、USB、USBx、Threadx 的添加和基础配置下面...
Middleware and Software Packs这里选择USB_DEVICE,Mode这里选择Custom HID,参数如果懂可以根据需求改,不懂保持默认,后边我们在代码里改也可以。 之后配置好时钟和其他设置,生成代码即可。 2、 我用的vscode+platformio开发环境,新建工程并打开导出的代码。Cubemx和platformio的文件夹结构不同,需要挪一下文件,主要是将Cor...
CUSTOM_HID_FS_BINTERVAL,这个设置的是HID设备的通信时间间隔,单位为ms,最快可以为1ms间隔; USBD_CUSTOM_HID_REPORT_DESC_SIZE,设置的是报告描述符的长度,设为34(后面会提到为什么是这个值); USBD_CUSTOMHID_OUTREPORT_BUF_SIZE,比较好理解,设置的是发送缓冲区的大小,HID一次最多可以发送64个字节,我们设置为最...
点击1处,选中后Device(FS),3处选择HID,其他参数默认。 配置USB 时钟 USB时钟需设置为48MHz。 增加堆栈大小,防止溢出 3. 编辑代码 更改为键盘。 设备描述符改为键盘 usbd_hid.c文件中USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]对应值由0x02改为0x01。
STM32的USB例程修改步骤 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正。 一、usb_desc.c文件 根据你程序使用的通信方式修改。usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescriptor[SIZ_CONFI...
开启中间件USB_DEVICE,选择usb类为自定义HID(custom HID),BINTERVAL为响应主机发送数据的延时时间,尽量越小越好。 另外两个参数是后面描述符所需要的大小,现在就修改即可。 设备描述符中的内容均可修改,VID和PID是上位机识别HID设备的识别码,需要记住。
connectivity这里打开usb,勾选Device,参数保持默认即可。 Middleware and Software Packs这里选择USB_DEVICE,Mode这里选择Custom HID,参数如果懂可以根据需求改,不懂保持默认,后边我们在代码里改也可以。 之后配置好时钟和其他设置,生成代码即可。 2、我用的vscode+platformio开发环境,新建工程并打开导出的代码。Cubemx和pla...
先用CUMEMX配置一个自定义的HID设备 配置好时钟 修改USB中断优先级 生成工程 修改报告描述符 /** Usb HID report descriptor. */ __ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END = {
HID类演示 使用 STM32CubeIDE 或者 STM32CubeMX 可以方便的建立 STM32 USB HID 的项目。这里直接进行...