STM32F103使用FATFS文件系统读写SD卡稳定性不好的问题

2019-08-14 19:33发布

现在我用STM32F103VCT6,利用FATFS文件系统读写SD卡,因为是做测试,所以每隔1秒向SD卡写一次数据(实际使用时,肯定不会这么频繁),数据是可以写成功的,但是就这样,不停的写数据,偶尔会出现读数据超时的情况。程序会卡在读数据超时程序那里,因为屏蔽了中断,所以程序不能做任何事,只能等到判断超时结束,才能继续执行其他程序,这个等待时间长达几秒,导致我的看门狗复位。写数据没发现问题,没出现过数据超时,但是会卡在读数据那里,而且这个读数据是在打开需要写的那个文件时,卡死的。想要写数据,首先要打开文件,我试了很多次,都是在打开文件的时候,偶尔会读数据超时。请问各位前辈,碰到过这样的情况吗?怎样解决SD卡读写数据不会超时呢?是中断问题还是SD时钟问题?我现在减小SD卡时钟频率,正在测试,等会再来说测试结果
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
三三三
2019-08-15 21:49
闪电之舞 发表于 2017-7-24 17:33
文件大了f_lseek不断的找簇   花时间自然越来越多

那增大扇区大小,还是增大簇?簇默认是32K。我也发现,TXT文件越大,超时的几率就越高,300K以上,出现超时的几率很大。但是,为啥有的时候会超时,有的时候不会超时呢?f_lseek函数在使用时,偶尔会出现在读数据函数里面,出现超时,会有几秒的等待。这是不正确的啊,找簇也不需要这么长的时间啊

一周热门 更多>