昨天利用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,
也就是说程序执行一会就会死机,是什么原因呢
RE: SD卡 多块读写死机问题
上面的循环是for(i=0;i<1000;i++)
没人回答
上网搜搜是老问题了,一直没有解决之道,算了,上了贼船了
我也很想知道程序为什么会跑死,按道理不会,碰到这种问题是很郁闷