现在我用STM32F103VCT6,利用FATFS文件系统读写SD卡,因为是做测试,所以每隔1秒向SD卡写一次数据(实际使用时,肯定不会这么频繁),数据是可以写成功的,但是就这样,不停的写数据,偶尔会出现读数据超时的情况。程序会卡在读数据超时程序那里,因为屏蔽了中断,所以程序不能做任何事,只能等到判断超时结束,才能继续执行其他程序,这个等待时间长达几秒,导致我的看门狗复位。写数据没发现问题,没出现过数据超时,但是会卡在读数据那里,而且这个读数据是在打开需要写的那个文件时,卡死的。想要写数据,首先要打开文件,我试了很多次,都是在打开文件的时候,偶尔会读数据超时。请问各位前辈,碰到过这样的情况吗?怎样解决SD卡读写数据不会超时呢?是中断问题还是SD时钟问题?我现在减小SD卡时钟频率,正在测试,等会再来说测试结果
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
没有,还在弄
那增大扇区大小,还是增大簇?簇默认是32K。我也发现,TXT文件越大,超时的几率就越高,300K以上,出现超时的几率很大。但是,为啥有的时候会超时,有的时候不会超时呢?f_lseek函数在使用时,偶尔会出现在读数据函数里面,出现超时,会有几秒的等待。这是不正确的啊,找簇也不需要这么长的时间啊
初始化一下SD卡,再操作就没有问题了,这是什么原因?上电初始化后,对SD卡的操作,把原来的配置改了?还是什么缓存文件太大?
不知道你代码怎么搞的。
我们开发板测试没什么问题。
一周热门 更多>