在 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 报...
Middleware and Software Packs这里选择USB_DEVICE,Mode这里选择Custom HID,参数如果懂可以根据需求改,不懂保持默认,后边我们在代码里改也可以。 之后配置好时钟和其他设置,生成代码即可。 2、 我用的vscode+platformio开发环境,新建工程并打开导出的代码。Cubemx和platformio的文件夹结构不同,需要挪一下文件,主要是将Cor...
非常不错。
点击1处,选中后Device(FS),3处选择HID,其他参数默认。 配置USB 时钟 USB时钟需设置为48MHz。 增加堆栈大小,防止溢出 3. 编辑代码 更改为键盘。 设备描述符改为键盘 usbd_hid.c文件中USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]对应值由0x02改为0x01。 报告描述符改为键盘 usbd_hid.c文件中HID_MOUSE...
一、USB简介 stm32F746系列芯片有USB_OTG_FS和USB_OTG_HS两种接口,FS为全速,速度12M Bit/s,HS为高速,最高速度为480M Bit/s,此时需要外接USB HS PHY,例如USB3300。HS接口也可以作为FS接口使用。由于FS和HS接口使用是相同的USB设备库,只是初始化时配置的引脚不一样,本章以FS接口为例讲解USB设备库的使用。
开启中间件USB_DEVICE,选择usb类为自定义HID(custom HID),BINTERVAL为响应主机发送数据的延时时间,尽量越小越好。 另外两个参数是后面描述符所需要的大小,现在就修改即可。 设备描述符中的内容均可修改,VID和PID是上位机识别HID设备的识别码,需要记住。
汇总1:STM32的USB例程修改步骤,来自 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正。 一、usb_desc.c文件 根据你程序使用的通信方式修改。usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescript...
将STM32的USB初始化为USB从机,使用标准HID协议。控制板自带VBUS供电,因此不需要VBUS、GND引脚。只要...
DataIn = USBD_CUSTOM_HID_DataIn DataOut = USBD_CUSTOM_HID_DataOut 主要调用路线: HAL_PCD_IRQHandler–>HAL_PCD_DataInStageCallback–>USBD_LL_DataInStage --> DataIn HAL_PCD_IRQHandler–>HAL_PCD_DataOutStageCallback --> USBD_LL_DataOutStage–>DataOut 也可看到,其发送和接收,都是在中断...
#include "usbd_hid.h" extern USBD_HandleTypeDef hUsbDeviceFS; int main(void) { // 初始化HAL库和系统时钟 // 启动USB设备 MX_USB_DEVICE_Init(); while (1) { // USB设备处理 MX_USB_DEVICE_Process(); // 设置键盘按键状态 uint8_t keyboardHID[8] = {0}; ...