STM32H7+USB3300+SD作为U盘速度慢的问题

        如题,在此我使用的是微雪电子的H7开发板(没办法,淘宝上能找到的USB3300模块就这一家,自然就使用了他家的开发板)。烧录了他家自带的USB_HS Device_MSC例程后进行测试,速度慢得离谱,如下图:

         这个速度基本和FS差不多,关于这个我也和微雪的技术进行了沟通,他给我的答复是测试环境好的话只能达到24bps。我心里瞬间就卧槽了,这和微雪课堂上所说的加上外部PYH能达到480bps说辞完全不一样啊。问行不通,那就自己调试了。(以下仅作为参考,应用到自己的项目上还是要自己多研究哦,尤其是我开启了Cache,项目中如果使用了DMA就要当心了)


需要配置的东西很简单,首先是USB_OTG_HS,把所需GPIO的速度都设为Very High 


然后增大USB_DEVICE的缓存(很重要) 


 Cache使能(暂时不明白为什么不打开这个,插上电脑就不显示U盘设备)


 代码部分就是把usbd_storage_if里面的几个接口填充一下(若要使用DMA一定要注意内存数据的完整性问题)


编译,烧录,USB接上电脑,可以发现速度直接起飞!

 


         以上若有问题或是不足之处,欢迎指正。

        关于我留下的Cache的那个疑问(暂时不明白为什么不打开这个,插上电脑就不显示U盘设备),也希望大佬看到了能给小弟指导一番!

版权声明:本文为CSDN博主「balibala」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44536527/article/details/119318236

生成海报
点赞 0

balibala

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

STM32 USB相关知识扫盲

STM32 USB相关知识扫盲 本篇文章为我个人在学习USB相关知识的整理,可能有不对的地方,欢迎指正! 我学习USB相关知识参考了以下网友的帖子: http://www.51hei.

usb NRZI

usb的编码方式NRZI RZ归零编码 正电平代表逻辑1,负电平代表逻辑0。每传完一次数据,信号回到零电平。 在归零后重新采样,不需要单独的时钟信号,称自同步信号。 NRZ不归零编