SD卡 多块读写死机问题

[复制链接]
 楼主| 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 | 显示全部楼层
这个确实很难解释啊
xsgy123 发表于 2010-2-6 14:38 | 显示全部楼层
香主出来帮忙解释下嘛,看楼主抱怨的
yybj 发表于 2010-2-6 20:01 | 显示全部楼层
我也很想知道程序为什么会跑死,按道理不会,碰到这种问题是很郁闷
lianxi47 发表于 2010-2-10 15:10 | 显示全部楼层
做个标记,关注中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

129

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

33

主题

129

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部