完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
源码是从官网直接下载下来的,版本为R0.33
/*----------------------------------------------------------------------------/ / FatFs - Generic FAT Filesystem Module R0.13c / /-----------------------------------------------------------------------------/ 文件可以读写,也可以创建文件,但是在写文件时有一个奇怪的现象:通过PC文件浏览器显示文件大小为0,具体表现如下: 1、写入的内容使用DiskGenius可以查看到内容。 2、写入完成后使用该文件系统读取文件长度为0. 3、使用DiskGenius查看文件的目录,发现0x1C开始的值没有变(为0)。 4、如果使用PC将文件写入内容,比如100字节,那么使用单片机不管写入多少在PC上都只能看到100字节,而使用DiskGenius、Winhex可以看到单片机写入的所有内容,只是文件目录项的“文件长度”依旧为100. 之前测试FatFs的“阉割版”Petit FatFs时发现这个问题,以为FatFs没有这个问题了。 不知道其他朋友有没有遇到这个问题,一开始我以为是没有调用f_sync()同步文件内容,可是写入完成后我调用了f_sync()函数在f_close()也不起作用。 从WinHex的显示来看,单片机没有给WRITE.TXT分配起始簇,真是神奇了! |
|
相关推荐
1个回答
|
|
提示的文件内容为空。这可能是由于以下原因之一导致的:
1. 文件系统没有被正确地挂载。在使用FatFS之前,你需要通过调用`f_mount()`函数来挂载文件系统。确保在写文件之前已经正确地挂载了文件系统。 2. 文件的写入操作没有被正确地完成。在使用FatFS写文件时,你需要通过调用`f_write()`函数来写入数据。确保你在调用`f_write()`函数之后,使用`f_sync()`函数来刷新缓冲区并确保数据被正确地写入文件。 3. 文件的写入操作发生了错误。在使用FatFS写文件时,你需要检查`f_write()`函数的返回值来判断写入操作是否成功。如果`f_write()`函数返回的值不等于写入的数据大小,那么说明写入操作失败了。 4. 文件的权限问题。在PC上,文件系统往往会有权限控制,可能导致你无法访问或看到文件的内容。确保你有足够的权限来查看文件的内容。 如果你已经检查了以上问题,并且还是无法看到文件的内容,那么可能存在其他问题,比如文件路径错误、文件被错误地关闭等。在这种情况下,你可以尝试跟踪代码执行路径,查找可能的问题所在。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1537 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1490 浏览 1 评论
910 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
654 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1538 浏览 2 评论
1845浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
596浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
499浏览 3评论
499浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
482浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 10:22 , Processed in 0.897939 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号