点击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...
打开生成的工程代码,由于CubeMX默认将设备描述为了鼠标设备,可以在usbd_hid.c文件中找到一个名为HID_MOUSE_ReportDesc的数组,该数组正式鼠标报告设备描述符,因此需要将该设备描述符修改为键盘的设备描述符,同时也应该修改该报告设备描述符数组的大小HID_MOUSE_REPORT_DESC_SIZE ,具体修改内容如下所示(注释2) /*修改...
4.2XX_OFF_HID_DESC是HID描述符在usb_des.h文件中配置描述符函数CustomHID_ConfigDescriptor的偏移量 所以在usb_des.h 文件定义: //ONE_DESCRIPTOR XX_Hid_Descriptor 偏移量定义 #define mouse_OFF_HID_DESC 0x12 //18 #define pen_OFF_HID_DESC 0x28 //43 #define HID_driver_OFF_HID_DESC 0x44 //68...
点击生成代码,然后烧录默认代码,连上电脑可在电脑的设备管理器中可以看到人全学输入设备中可以看到USB输入设备,但是有个叹号: 二、接下来我们将要在生成的HID框架上修改代码, 主要有修改设备描述符,传输的字节,轮询的时间,中断回调函数接收( usbd_custom_hid_if.c,usbd_conf.h,usbd_customhid.h) 在usbd_custo...
connectivity这里打开usb,勾选Device,参数保持默认即可。 Middleware and Software Packs这里选择USB_DEVICE,Mode这里选择Custom HID,参数如果懂可以根据需求改,不懂保持默认,后边我们在代码里改也可以。 之后配置好时钟和其他设置,生成代码即可。 2、 我用的vscode+platformio开发环境,新建工程并打开导出的代码。Cubemx和...
cubemx新建usbhid工程。 选择stm32f103c8,双击 GPIO配置如图 选择外部时钟源 TIM3设置为编码器模式,定时器参数修改为如图(可参考代码中设置) 打开FS 选择HID 时钟树配置如上 toolchain选择Makefile code generator设置如图 点击生成代码。 生成工程如图 2.打开platformIO,新建工程。
USB_INTERFACE_DESCRIPTOR_TYPE,/*bDescriptorType: Interface descriptor type*/ 0x00, /*bInterfaceNumber: Number of Interface*/ 0x00, /*bAlternateSetting: Alternate setting*/ 0x02, /*bNumEndpoints*/ 0x03, /*bInterfaceClass: HID*/ 0x01, /*bInterfaceSubClass : 1=BOOT, 0=no boot*/ ...
勾选:初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。 点击GENERATE CODE 生成代码 六、修改usbd_hid.c 打开工程文件夹Middlewares/USB_Device_Library下usbd_hid.c文件 6.1 修改接口描述符(可跳过) HID设备的描述符除了5个USB的标准描述符(设备描述符、配置描述符、接口描述符、端点...
将STM32的USB初始化为USB从机,使用标准HID协议。控制板自带VBUS供电,因此不需要VBUS、GND引脚。只要...