嵌入式小柚子 发表于 2022-11-26 13:24:28

SPI驱动SD卡挂载Fatfs写数据部分丢失

您好,我使用软件SPI驱动SD卡,并且挂载了FATFS,但是在使用过程中发现,在往SD中写数据时,会存在数据丢失的情况,比如下图,我发送了100个数据包,每一个包7个字节,但是打开创建的文件发现里面只有74个数据包,起初认为是速度的问题,但是加了延时函数,依旧有丢包的情况,请问这是什么原因呀







eric2013 发表于 2022-11-26 14:22:13

大概率是底层驱动接口实现有问题,也就是diskio.c文件实现有点问题。

嵌入式小柚子 发表于 2022-11-30 17:14:18

eric2013 发表于 2022-11-26 14:22
大概率是底层驱动接口实现有问题,也就是diskio.c文件实现有点问题。

是的硬汉哥,块写入那个地方出现了问题,改成单块写入之后可以了,感觉多块写入的时候,一次结束之后需要发送停止命令。谢谢!

ZJU_Rookie 发表于 2022-12-24 10:17:37

嵌入式小柚子 发表于 2022-11-30 17:14
是的硬汉哥,块写入那个地方出现了问题,改成单块写入之后可以了,感觉多块写入的时候,一次结束之后需要 ...

我遇到了同样的问题,但是我用cubemx生成的diskio.c里没有看见关于块写入的地方,能详细讲解一下吗大佬:'(

eric2013 发表于 2022-12-24 21:49:50

ZJU_Rookie 发表于 2022-12-24 10:17
我遇到了同样的问题,但是我用cubemx生成的diskio.c里没有看见关于块写入的地方,能详细讲解一下吗大佬:' ...

有的,就是那个multiblock操作。

继续提升STM32F4的4线SDIO DMA方式的读写稳定性,发布新版案例(2020-06-30)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=98560&fromuid=58
(出处: 硬汉嵌入式论坛)
页: [1]
查看完整版本: SPI驱动SD卡挂载Fatfs写数据部分丢失