完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
从github上搬来的FATFS v0.12c代码;往U盘里文本文件写任意写符串(不超过30个字符)。第一次插入U盘失败,拔掉U盘再插入,就能写成功。
何故?? FATFS v0.12c源码:http://github.com/stm32duino/FatFs/tree/master/src char *STR = "aa132cv41654654464rtyrryryrydfgs"; fr = f_open( fil ,"0:t123.txt",FA_OPEN_ALWAYS|FA_WRITE|FA_READ); if(fr == FR_OK) { printf("文件打开成功!rn"); //__disable_irq(); fr = f_write( fil,STR,strlen(STR),(UINT*)fw); //__enable_irq(); if(fr == FR_OK) { printf("数据写入完成!rn"); } else { printf("数据写入失败!rn"); } //HAL_Delay(200); fr = f_close( fil); //首次加电,写入U盘失败时,此处返回 1 ; if(fr == FR_OK) { printf("rn文件关闭成功.rn"); printf("打印关闭文件代码:%drn",fr); } else { printf("rn文件关闭失败!rn"); printf("打印关闭文件代码:%drn",fr); } } |
|
相关推荐
1 条评论
1个回答
|
|
有几个可能的原因导致这个问题:
1. U盘的文件系统可能未能正确挂载。首次插入U盘时,操作系统可能需要一些时间来识别文件系统,并将其挂载为可写的目录。因此,当第一次尝试写入文件时会失败。当你拔掉U盘并再次插入时,操作系统可能已经完成了挂载过程,所以第二次尝试会成功写入。 2. U盘的文件系统可能不是FATFS支持的。FATFS库只支持FAT12、FAT16和FAT32文件系统。如果你的U盘使用的是其他文件系统,例如NTFS或exFAT,则可能无法成功写入文件。 3. U盘可能已经损坏。如果U盘出现了硬件问题或损坏,那么可能无法成功写入文件。在这种情况下,拔掉U盘并再次插入可能只是让操作系统重新检测并忽略了U盘上的损坏部分。 解决这个问题的方法有几个: 1. 确保你的U盘使用的是FAT文件系统。可以在电脑上格式化U盘,选择FAT32格式。 2. 在尝试写入文件之前,可以增加一些延迟时间,以等待操作系统正确挂载文件系统。 3. 检查U盘是否正常工作。尝试将U盘插入其他设备,如电脑或其他嵌入式系统,在这些设备上尝试写入文件,以确认U盘本身是否存在问题。 4. 确保你使用的是最新版本的FATFS库。可以检查并更新FATFS库,以获得更好的兼容性和稳定性。 总之,这个问题可能是由于U盘的文件系统不正确、U盘的损坏或FATFS库的问题所致。通过上述方法进行排查和修复,应该能解决这个问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1925 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1693 浏览 1 评论
1180 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
776 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1743 浏览 2 评论
1981浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
815浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
262浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
629浏览 3评论
637浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-28 13:45 , Processed in 1.104602 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号