STM32
直播中

刘刚

7年用户 1024经验值
私信 关注
[问答]

如何使用STM32CubeMX快速生成USB HID工程呢

如何使用STM32CubeMX快速生成USB HID工程呢?

如何使用STM32CubeMX快速生成USB Device工程呢?

回帖(1)

刁海鹏

2021-10-27 11:50:14
  背景
  最近在研究USB Device通信,如USB HID 、USB Device。
  使用STM32CubeMX,可以快速生成 USB HID 、USB Device的工程。
  学习USB,通过实践的方式,不断使用、代码实现,会更快速的掌握USB应用。
  工程搭建
  MCU平台:STM32F107VCT6
  软件开发IDE: Keil MDK
  STM32 USB 引脚
  
  注意USB D+上的上拉电阻
  
  打开:STM32CubeMX,型号输入:STM32F107VC
  
  使能USB:Devcie,注意配置一下USB D+ 上拉控制引脚,这里是PC7
  
  
  配置系统的时钟:HSE,板子上是【25Mhz】
  
  系统时钟树配置:
  系统时钟,72MHz,USB,48MHz。 HSE 25MHz。
  
  生成Keil MDK5 工程
  
  注意SWD下载口,
  不要别默认代码禁用,以免下次无法正常下载程序
  
  USB D+上拉:
  可以开机后上拉。
  
  USB初次插入
  ,无法正常识别
  
  断电,再次插入,可以识别。
  
  识别为mouse设备
  
  代码初步分析:
  原来STM32生成的工程里,把USB HID配置为鼠标(Mouse) HID 设备。
  
  总结:
  USB HID,因为上电后就初始化了,所以,中途不断电的情况下,再次插入,就无法正常的枚举!!
  断电,插入USB,可以正常的枚举。
  所以,系统不断电的情况下,最好控制USB D+的上拉。
  最好检测USB插入后,在初始化USB 设备。
  USB 协议比较复杂些,多实践,才能真正掌握!!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分