STM32F767+USBHID+CubeMX配置

一、环境准备

电脑系统:Windows 10 专业版 20H2

IDE:Keil v5.35、STM32CubeMX v6.5.0

测试硬件:STM32F767

二、测试步骤

1、选择芯片工程

默认配置“yes”

2、配置RCC

使用了25MHz晶振

3、配置USB硬件

在“Connectivity”中配置USB,实际使用PA1/PA12,注意检查USB引脚是否正确,其他默认即可

4、配置中间件

使用HID模式,配置参数如图,其他默认

5、配置时钟树

使用自动配置生成的,主要是系统时钟频率设为最大,USB为48MHz

6、生成代码

7、配置USB描述符

 代码部分,只适用于HAL库中USER CODE部分,方便复制,还是参照上面图片。

	0x05,0x8c, /* USAGE_PAGE (ST Page) */
    0x09,0x01, /* USAGE (Demo Kit) */
    0xa1,0x01, /* COLLECTION (Application) */
 
    // The Input report
    0x09,0x03, // USAGE ID - Vendor defined
    0x15,0x00, // LOGICAL_MINIMUM (0)
    0x26,0x00, 0xFF, // LOGICAL_MAXIMUM (255)
    0x75,0x08, // REPORT_SIZE (8bit)
    0x95,0x40, // REPORT_COUNT (64Byte)
    0x81,0x02, // INPUT (Data,Var,Abs)
 
    // The Output report
    0x09,0x04, // USAGE ID - Vendor defined
    0x15,0x00, // LOGICAL_MINIMUM (0)
    0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255)
    0x75,0x08, // REPORT_SIZE (8bit)
    0x95,0x40, // REPORT_COUNT (64Byte)
    0x91,0x02, // OUTPUT (Data,Var,Abs)

8、修改通讯长度

输入输出缓存长度均为64字节

9、编译烧录

三、运行效果

建议烧录完成后掉电,再查看Tree信息。(烧录后直接查看,电脑端信息没有更新)

四、附加

上面指示提供简单模板,使生成的USB驱动能被正确识别到。要想通讯使用,需要添加代码,下面提供简单实例。

将接收到的数据,直接发送。

	//获取接收指针
	USBD_CUSTOM_HID_HandleTypeDef     *hhid = (USBD_CUSTOM_HID_HandleTypeDef *)(hUsbDeviceFS.pClassData);
	//处理,或者在其他地方处理
	USBD_CUSTOM_HID_SendReport(&hUsbDeviceFS,hhid->Report_buf,64);	

 运行效果:

四、工程资料下载

0-USBHID.rar (访问密码: 1666)icon-default.png?t=N7T8https://url48.ctfile.com/f/33868548-1251552320-cb1f76?p=1666
 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫中眸zc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值