完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32f407挂载fatfs文件系统,用于保存数据,存储媒介SD卡、使用SDIO驱动模式。想在较短的时间内完成:根目录、子目录等创建操作,子目录文件夹是以创建时间命名的。现在遇到的问题是:创建根目录后,再创建子目录文件夹时,有时耗时太长,会导致程序停下一小段时间(1、2秒)才能完成子目录文件夹的创建???即在函数f_mkdir(“0:/Templedatafile/20160920112450”);耗时太长。大多数是发生在程序启动后,第一次创建文件夹的时候;但是有时创建该子目录文件夹时又可以瞬间完成了?跟踪程序查看时,发现是在f_mkdir内部的disk_write()停了一会。自己找不到解决方法,求助各位大神!!
|
|
相关推荐
1个回答
|
|
STM32F407使用FatFs文件系统在SD卡上创建文件夹时,f_mkdir函数耗时较长的原因可能有以下几点:
1. SD卡初始化和挂载:在程序启动后,第一次创建文件夹时,需要对SD卡进行初始化和挂载。这个过程可能需要一些时间,尤其是在硬件初始化和文件系统挂载方面。 2. 文件系统类型:FatFs支持多种文件系统类型,如FAT12、FAT16和FAT32。不同的文件系统类型在创建文件夹时可能需要不同的时间。确保选择了合适的文件系统类型。 3. SD卡速度:SD卡的读写速度会影响创建文件夹的时间。使用高速SD卡可以缩短创建文件夹所需的时间。 4. 磁盘写入:在f_mkdir内部调用disk_write()函数时,可能需要等待磁盘写入完成。这个过程可能需要一些时间,尤其是在写入大量数据时。 5. 程序优化:检查程序中的其他部分,看看是否有可以优化的地方,以减少创建文件夹所需的时间。 为了缩短创建文件夹所需的时间,可以尝试以下方法: 1. 优化SD卡初始化和挂载过程,确保硬件初始化和文件系统挂载尽可能高效。 2. 选择合适的文件系统类型,以适应您的应用程序需求。 3. 使用高速SD卡,以提高读写速度。 4. 检查磁盘写入过程,看看是否有可以优化的地方,以减少等待时间。 5. 对程序进行性能分析,找出可能的瓶颈,并进行相应的优化。 6. 如果可能,尝试使用其他文件系统库,如LittleFS或SPIFFS,看看它们在您的应用程序中是否表现更好。 7. 在程序启动后,预先创建一些常用的文件夹,以减少在程序运行过程中创建文件夹所需的时间。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1645 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1564 浏览 1 评论
992 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
691 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1610 浏览 2 评论
1871浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
656浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
526浏览 3评论
542浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
515浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 23:52 , Processed in 0.826026 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号