完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在对U盘写入一个比较大的文件时(大约300KB的CSV文件),无法写入完成,不停的进入U盘中断程序(OTG_FS_IRQHANDER),而不能正常写入文件,在写入100k以内的文件时,能正常写入完成,使用的时标准库,文件系统时FATFS,请大神指导。
|
|
相关推荐
1个回答
|
|
STM32F107读写U盘失败,不停进入U盘中断的问题可能由多种原因导致。以下是一些建议和解决方案,希望能帮助您解决问题:
1. 检查硬件连接: 确保STM32F107与U盘之间的硬件连接正确无误。检查USB OTG接口的引脚是否正确连接,以及U盘的VCC和GND是否接地。 2. 检查USB OTG驱动: 确保STM32F107的USB OTG驱动已正确配置。检查USB OTG的时钟配置、端点配置、DMA配置等是否正确。 3. 检查FATFS配置: 确保FATFS库已正确配置。检查FATFS的缓冲区大小、文件系统类型等设置是否合适。对于较大的文件,可能需要增加缓冲区大小以提高性能。 4. 优化文件写入过程: 在写入较大的文件时,可以考虑将文件分成多个较小的块进行写入。这样可以降低单个写入操作的复杂度,减少中断的频率。 5. 检查中断处理程序: 仔细检查OTG_FS_IRQHANDLER中断处理程序,确保在处理中断时没有错误。特别是要注意USB传输的状态,如数据传输完成、错误等。 6. 增加错误处理机制: 在程序中增加错误处理机制,以便在遇到问题时能够及时处理。例如,当写入失败时,可以尝试重新连接U盘或重试写入操作。 7. 更新固件和库: 确保使用的STM32F107固件和FATFS库是最新版本。新版本可能修复了旧版本中的一些已知问题。 8. 使用调试工具: 使用STM32的调试工具(如ST-LINK)对程序进行调试,以便更好地了解程序在运行过程中的行为。通过观察中断、变量值等信息,可以更容易地找到问题所在。 9. 参考示例代码: 查阅STM32F107和FATFS的官方示例代码,了解它们是如何实现U盘读写功能的。这有助于您检查自己的程序是否存在问题。 10. 寻求社区帮助: 如果以上方法都无法解决问题,可以尝试在STM32和FATFS的开发者社区寻求帮助。许多经验丰富的开发者可能遇到过类似的问题,并能提供有价值的建议。 总之,解决STM32F107读写U盘失败的问题需要从硬件连接、驱动配置、文件系统设置、程序优化等多个方面进行排查和调整。希望以上建议能对您有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1750 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1608 浏览 1 评论
1049 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1665 浏览 2 评论
1924浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
710浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
559浏览 3评论
583浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 10:26 , Processed in 1.006814 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号