完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近用STM32F429ZET6单片机,STM32F4CUBE1.9的库调试MSC 读写U盘,遇到一些问题,希望高手解答
我把USB核心库和MSC库和FASFT库加入工程,使用为FS模式;编译没有错误后,将options中C/C++的optimization改为level3;再将startup_stm32f429xx.s中的堆栈和头文件都改为0x2000,可以读写U盘; (1)但是拔插多次后,会死在USB枚举里,一直是USBH_BUSY;实在没找到问题出在那,以后再拔插U盘都不好用,只能重启;是我程序设置的有问题吗,还是库文件的问题 (2)往U盘里写数,试了4个U盘,有三个好的,另一个能创建txt文件,但内容没写进去,f_write返回值是ok;U盘是好用的,插在电脑上没有问题 (3)在STM32F4CUBE1.9的库中有FATFS例程和USB的MSC例程,里面的文件库底层有的地方不一样,感觉加入FATFS_LinkDriver(Diskio_drvTypeDef *drv, char *path)这个函数后程序后读写U盘能稳定点,要不然有时不能写U盘 (4)历程中f_mount函数和f_open函数没有放在一个函数中,我写U盘出现错误,放在一个函数就好了,很奇怪;感觉MSC例程不对啊 我设置的有什么问题呢,已经调试两周了,为什么按例程做不对了,我把程序上传,希望高手帮忙看看啊。用的是keil5建的工程 |
|
相关推荐
1个回答
|
|
根据您提供的信息,您在使用STM32F429ZET6单片机和STM32F4CUBE1.9库进行USB MSC读写U盘时遇到了一些问题。以下是针对您提出的问题的解答:
1. USB枚举死在USBH_BUSY的问题: 这个问题可能是由于USB主机栈的某些配置不当或者USB设备(U盘)与STM32F429ZET6之间的兼容性问题导致的。以下是一些建议: - 确保您的USB主机栈配置正确,包括时钟、电源等。 - 检查您的USB设备(U盘)是否支持高速(480 Mbps)或全速(12 Mbps)模式。如果只支持全速模式,您需要在STM32F429ZET6的USB主机配置中设置相应的速度。 - 尝试降低优化级别,例如从level3改为level2或level1,以查看是否对问题有所帮助。 - 检查您的USB连接线是否稳定,有时候连接线的问题也会导致枚举失败。 2. 往U盘里写数据时,部分U盘无法正常工作的问题: 这个问题可能是由于U盘的文件系统或者格式不支持导致的。以下是一些建议: - 确保您的U盘使用的是FAT32或FAT16文件系统,因为这些文件系统在大多数情况下与STM32F429ZET6兼容。 - 在将数据写入U盘之前,尝试对U盘进行格式化,以确保其文件系统是干净的。 - 检查您的程序是否正确处理了U盘的读写操作,例如打开文件、写入数据、关闭文件等。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1907 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1678 浏览 1 评论
1171 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
770 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1730 浏览 2 评论
1970浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
806浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
254浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
624浏览 3评论
634浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 12:14 , Processed in 0.728512 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号