打印

SD卡 多块读写死机问题

[复制链接]
4280|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DLPIC|  楼主 | 2010-2-5 08:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
昨天利用STM32读写TF卡,遇到这样的怪事,
若执行如下程序:
Status = SD_WriteMultiBlocks(0x00, Buffer_MultiBlock_Tx, BlockSize, NumberOfBlocks);
就不会死机;
for(i=0;i<100;i++)
{
Status = SD_WriteMultiBlocks(0x00, Buffer_MultiBlock_Tx, BlockSize, NumberOfBlocks);
SendChar(i);
}
就会死机;
加入SendChar(i);是为了查看到底执行了几次;
死机位置为:
SD_Error SD_WriteMultiBlocks(u32 addr, u32 *writebuff, u16 BlockSize, u32 NumberOfBlocks)函数中的:
  while (DMA_GetFlagStatus(DMA2_FLAG_TC4) == RESET)
      {}
程序就一直停在这里了;
直到死机前,i的值为167,每次都是167,
也就是说程序执行一会就会死机,是什么原因呢
沙发
DLPIC|  楼主 | 2010-2-5 09:03 | 只看该作者

RE: SD卡 多块读写死机问题

上面的循环是for(i=0;i<1000;i++)

使用特权

评论回复
板凳
DLPIC|  楼主 | 2010-2-5 09:34 | 只看该作者
没人回答
上网搜搜是老问题了,一直没有解决之道,算了,上了贼船了

使用特权

评论回复
地板
司徒老鹰| | 2010-2-5 22:50 | 只看该作者
这个确实很难解释啊

使用特权

评论回复
5
xsgy123| | 2010-2-6 14:38 | 只看该作者
香主出来帮忙解释下嘛,看楼主抱怨的

使用特权

评论回复
6
yybj| | 2010-2-6 20:01 | 只看该作者
我也很想知道程序为什么会跑死,按道理不会,碰到这种问题是很郁闷

使用特权

评论回复
7
lianxi47| | 2010-2-10 15:10 | 只看该作者
做个标记,关注中

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

129

帖子

1

粉丝