STM32的USB库将SETUP包放在一起处理,首先是枚举阶段 USBD_OTG_ISR_Handler --> gintr_status.b....
USB描述符是用于描述USB设备的一种数据结构,它包含了设备的基本信息和功能描述。在STM32 USB通信中,常用的描述符包括设备描述符、配置描述符、接口描述符和端点描述符等。这些描述符的配置对于USB设备的识别和通信至关重要。 设备描述符:每个USB设备都必须且只有一个设备描述符,它包含了设备的基本信息,如供应商ID、...
PID(Product ID产品识别码),,PID是由供应商自行决定。 主机通过VID和PID来识别不同的设备,根据他们(以及设备的版本号),可以给设备加载或安装相应的驱动程序。 可以通过这个网址查看常见的VID和PID,http://www.linux-usb.org/usb.ids USBD_PID_FS修改0x5730和0x5740都是能当做USB AUDIO 用的 二、修改usbd_d...
BYTE bDeviceClass, 类型代码(由USB指定) BTYE bDeviceSubClass, 子类型代码(由USB分配) BYTE bDeviceProtol, 协议代码(由USB分配) BYTE bMaxPacketSize0, 端点0最大分组大小 WORD idVenderI, 供应商ID(由USB分配) WORD idProduct, 产品ID(由厂商分配) WORD bcdDevice, 设备出产编码. BYTE iManufacturer, 厂商...
31 USB_DEVICE - HID外设_模拟键盘或鼠标 读者可访问GitHub - lc-guo/STM32CubeMX-Series-Tutorial获取原始工程代码 1、准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 ...
解压后,再复制stm32_mw_usb_device-master内的Core,Class的文件夹到 \stm32h5-classic-coremw-apps-main\Middlewares\ST\STM32_USB_Device_Library,编译通过,无错误。下载工程到NUCLEO H563运行,通过设备管理器能找到相应的HID设备,测试按一 下USER BUTTON按键,则鼠标也会跟着横向移动一步。3.2 屏蔽掉USB...
前段时间由于应用需要对产品授权进行限制,所以研究了一下有关STM32MCU的唯一ID的资料,并最终利用它实现了我们的目标。1、基本描述在STM32的全系列MCU中均有一个96位的唯一设备标识符。在ST的相关资料中,对其功能的描述有3各方面:用作序列号(例如 USB 字符串序列号或其它终端应用... ...
connectivity这里打开usb,勾选Device,参数保持默认即可。 Middleware and Software Packs这里选择USB_DEVICE,Mode这里选择Custom HID,参数如果懂可以根据需求改,不懂保持默认,后边我们在代码里改也可以。 之后配置好时钟和其他设置,生成代码即可。 2、 我用的vscode+platformio开发环境,新建工程并打开导出的代码。Cubemx和...
首先你需要做的,是能够单独实现键盘,按下按键,电脑显示对应字符(这一步很简单的,如果你没有实现这个,也不会有组合设备的需求)。然后利用ReportID,把键盘和手柄的hid描述符,放在同一个函数(CUSTOM_HID_ReportDesc_FS)里面。我的hid描述符如下 此时编译上传代码,插入电脑,能成功识别出一个Hid Keyboard Devide和一个...