STM32
直播中

贾虎世

8年用户 1802经验值
私信 关注
[问答]

STM32H743的SD作为U盘读取,电脑一直检测不到设备是为什么?

STM32h743,usb otg id端口悬空,如何配置才能作为从设备让电脑用type-c识别,是将GUSBCFG的FDMOD置为1么,仿真的时候怎么观察不到这个寄存器的变化,程序明明置为1了,寄存器数据没有变化(用了另一块阿波罗的板子,可以检测到设备,但是仿真同样看不到寄存器数据变)

回帖(2)

高文军

2024-4-7 11:02:16
直接用cube生成驱动后修改几个文件应该就可以模拟出来了
举报

张红

2024-4-7 15:02:29
首先,要将STM32H743的SD作为U盘读取设备,需要配置USB OTG为USB Device Mode,并正确进行USB配置。以下是一些可能导致电脑无法检测到设备的原因和解决方法:

1.检查硬件连接:确保USB OTG端口正确连接到电脑,并且线缆没有问题。

2.配置USB OTG控制器:确保正确配置USB OTG控制器寄存器,包括设置USB Device Mode(USB设备模式)和启用SD作为存储设备。

3.检查USB OTG ID端口:如果USB OTG ID端口悬空,会导致设备被识别为OTG设备而非USB设备。应将ID线连接到正确的引脚上,例如将USB OTG ID线连接到地上。

4.检查USB OTG时钟:在使用USB OTG功能之前,确保为其提供正确的时钟源。通常需要初始化USB时钟以使其工作。

5.确认电源供电:USB设备需要有足够的电流供给。确保您的STM32H743芯片或板子能够提供足够的电流给USB设备。如果供电不足,可能会导致设备无法被电脑检测到。

6.检查USB OTG引脚映射:通过查阅芯片手册,确保USB OTG引脚映射正确。不同的芯片可能有不同的引脚映射。

关于STM32H743的GUSBCFG寄存器,要观察其变化,可以使用调试工具或仿真器进行监视。需要设置调试工具或仿真器以读取和显示GUSBCFG寄存器的值。在仿真期间,您应该能够观察到寄存器值的变化。如果使用的是Keil MDK或STM32CubeIDE等集成开发环境,您可以在寄存器视图中监视和验证GUSBCFG寄存器的值。

总之,请确保正确设置USB OTG控制器和相关配置,检查硬件连接和供电,并进行适当的调试工具或仿真器设置以观察相关寄存器的值变化。
举报

更多回帖

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