[应用相关] 关于 STM32 USB 作为从机设备时管脚连 接以及通讯的简易验...

[复制链接]
1297|11
 楼主| 电竞孔乙己 发表于 2021-11-10 21:08 | 显示全部楼层 |阅读模式
前言
USB 作为从机设备时,管脚连接以及通讯的验证方法其实就是下载一段简单 USB 程序,在不需要任何驱动的前提下实现简单
的 USB 通讯。通过这个简单程序的运行情况来判断 USB 管脚和通讯是否正常。

 楼主| 电竞孔乙己 发表于 2021-11-10 21:08 | 显示全部楼层
问题分析
USB 作为从机设备时,其硬件验证相对简单。当硬件工程师怀疑自己的硬件有问题时,就自己写一个简单的测试程序。但这
对一般的硬件工程师来说还是有一定难度的。通过 STM32CubeMX 这个工具,这个过程就变的非常简单了。方法如下:
1/在 STM32CubeMX 中选择您需要使用的开发板,我们以 STM32F401C-Discovery 板子为例(在选择板子的时候,是不需要
需改时钟配置+管脚配置的,所以流程更加简单)
 楼主| 电竞孔乙己 发表于 2021-11-10 21:09 | 显示全部楼层
16035618bc476905c4.png
注意:如果你选择的不是开发板,而是自己做的板子请参考如下简易配置流程:
1. 选 STM32Fxxx
2. 在 PinOut 项中配置 RCC 的 HSE 外部时钟开启(这个是必须的,除了 STM32F0x2 系列 MCU)
3. 开启 USB_OTG_HS/USB_OTG_FS/USB 中的 Internal FS PHY 为 Device Only
4. 设置 Middleware 中的 USB_Device 为 Human Interface device
5. 配置时钟的输入为‘x’M(默认是 25M,这里的‘x’是需要与实际连接晶体频率相等),设置系统时钟为 72M(建议
使用时钟自动分配功能,具体数据需要根据实际所选芯片的时钟范围来设置)
6. 直接生成代码运行即可
 楼主| 电竞孔乙己 发表于 2021-11-10 21:10 | 显示全部楼层
2/在 Pinout 中选择 USB OTG FS 选项中的 Device Only 选项。
12981618bc4b8705e1.png
之后在 Middleware 中选择 USB Device 选项中的 Human Interface device class
79519618bc4cb0bfa7.png
 楼主| 电竞孔乙己 发表于 2021-11-10 21:11 | 显示全部楼层
3/直接生成工程,并编译下载到 STM32F401C-Discovery 板子上就可以验证了。如果可以看到 HID 的设备,那么就是 USB
部分的硬件联系没有什么问题了.
72850618bc4ec1cd0f.png
 楼主| 电竞孔乙己 发表于 2021-11-10 21:14 | 显示全部楼层
总结:
该工程只是完成了一个 USB HID 类的枚举工作,不需要工程师添加任何代码,其作用就是为了验证 USB 作为从机设备时的
硬件管脚连接以及通讯是否有问题。且一般 windows 都是支持 HID 这个基本类,故此方法有广泛的实用意义。
观海 发表于 2021-12-6 17:14 | 显示全部楼层
硬件上是如何连接的呢
guanjiaer 发表于 2021-12-6 17:15 | 显示全部楼层
对系统有要求吗
heimaojingzhang 发表于 2021-12-6 17:17 | 显示全部楼层
主设备如何配置呢
keaibukelian 发表于 2021-12-6 17:18 | 显示全部楼层
需要配置的点很多啊
tpgf 发表于 2021-12-6 17:19 | 显示全部楼层
非常轻松的感觉啊
labasi 发表于 2021-12-6 17:20 | 显示全部楼层
可以参考哪个成熟代码呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

91

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部