STM32CubeMX生成STM32F072 USB 自定义HID Device

1. 使用STM32CubeMX生成USB HID工程

这里使用的是STM32F072 Discovery开发板,在MCU型号选中对应的STM32F072RBTx。
在这里插入图片描述

接下来配置USB外设,需设置PA11和PA12为USB的DP DM功能,选择USB_Device Class为 Custom Human Interface Device Class(HID) ,最好再打开SWD调试功能,否则无法下载调试。
在这里插入图片描述

时钟配置,USB FS Device Clock需要48M,这里可设置STM32F072的USB时钟为内部HSI 48M,并设为主时钟。
在这里插入图片描述
最后生成完整的工程,这里生成的为STM32Cube IDE工程,毕竟是ST新推出的开发工具,还是得多使用下。
在这里插入图片描述

2. 修改新建的工程

上面新建完成的工程只是一个基本的工程,需稍微修改下,才能变为可以使用的自定义USB HID设备。

修改报告描述表

默认报告描述表为空的,需要修改为自定义设备的报告描述表,找到usbd_custom_hid_if.c中的CUSTOM_HID_ReportDesc_FS,添加描述表如下

// ReportDesc
__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END =
{
   
   
//  /* USER CODE BEGIN 0 */
//  0x00,
//  /* USER CODE END 0 */
//  0xC0    /*     END_COLLECTION	             */

	0x06,0xFF,0xFF,		//UsagePageVendor(0xFF)
	0x09,0x01,				//Usage(1)
	0xA1,0x01,					// collection (application)
	0x15,0x00,					//logical minimum (0)
	0x26,0xFF,0x00,				//logical maximum (0xFF)
	0x75,0x08,					//report size(8)
	0x95,0x40,					//report count(64)
	0x09,0x02,				//Usage(2)
	0x81,0x02,					// input (data, variable, absolute)
	0x09,0x03,				//Usage(3)
	0x91
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值