正点原子阿波罗开发板格式化SD卡时,死机!

2019-07-20 03:27发布

使用正点原子阿波罗STM32F429 资料盘(A盘)4,程序源码2,标准例程-HAL库版本实验41 FATFS实验

使用串口工具XCOMV1.4 格式化SD卡时,死机!
mf_fmkfs("0:",0,0)


仿真时发现死在下面函数的循环里, while((HAL_GetTick() - tickstart) < Delay)

__weak void HAL_Delay(__IO uint32_t Delay)
{
  uint32_t tickstart = 0;
  tickstart = HAL_GetTick();
  while((HAL_GetTick() - tickstart) < Delay)
  {
  }
}

请问下原子哥这是社么原因?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
taizonglai
2019-07-20 03:32
1、把sdio_sdcard.h中的宏SD_DMA_MODE改为0,也即是使用轮询模式。2、在main函数的循环改为如下通过按键来格式化SD卡的代码:
7OJ$V~{(SI]W%VIHHKW}N.png
通过按键来调用f_mkfs来格式化SD卡,不要用USMART。这样就可以格式化成功,但是大概要2分钟左右。出现卡死到HAL_Delay函数里面,大概率是有什么其他的中断抢占了systick中断。倒是systick中断无法运行,HAL_Delay就卡死了。






一周热门 更多>