STM32
直播中

刘继牛

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

STM32L496RGT6文件管理器中无盘符,导致整个通讯复位怎么解决?

型号:STM32L496RGT6,库已经是STM32Cube_FW_L4_V1.17.2,USB上传的包有时候比最大包64字节还多4字节。
设备做了MSC+CDC
CDC枚举成功,能读写,MSC经常枚举成功,但文件管理器中无盘符,最后硬件抓包发现,经常会多发数据到上位机,导致整个通讯复位。






回帖(1)

地方

2024-3-28 17:38:04
这个问题可能有多个可能的原因,以下是一些可能的解决方案:

1. 检查硬件连接:确保连接的USB线完好无损,没有接触不良或短路等问题。
2. 检查USB电源供应:确保芯片供电充足,电源波动不大,并且满足芯片的最低供电要求。
3. 检查USB传输缓冲区:确保STM32L496RGT6中的USB传输缓冲区大小足够大,能够容纳USB上传的最大包(包括多余的4字节)。
4. 检查MSC+CDCCDC实现:确保MSC+CDCCDC实现的代码正确,并且与所使用的USB库兼容。您可以参考STM32Cube_FW_L4_V1.17.2的相关文档和示例代码。
5. 检查文件系统的初始化:如果您使用了文件系统(如FATFS),请确保已正确地初始化文件系统,并将逻辑盘符映射到STM32L496RGT6的MSC逻辑单元。

如果上述解决方案都无法解决问题,您可能需要更深入地分析问题。您可以:
1. 使用STM32提供的调试工具(如ST-Link或J-Link)进行调试,查看USB传输的详细情况,检查是否有数据丢失或错误。
2. 使用协议分析器(如USBlyzer)对USB通信进行抓包分析,查看通信中是否有异常情况出现。


举报

更多回帖

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