我的Fatfs+SDIO驱动SD卡,写大数据的时候总是死的SD_CmdResp1Error这个函数内

2019-10-14 23:14发布

谁能告诉我,我往SD卡数据时写的过程中总是死在SD_CmdResp1Error这个函数内,我用的是STM32F207的芯片,SDIO驱动。加Fatfs。用的是DMA方式传输数据的
使用的库函数是STM32FXX_HAL库。不知道各位有没有遇到这种问题,小弟很急啊。最近忙一个项目,现在这里都还没调好呢。
static HAL_SD_ErrorTypedef SD_CmdResp1Error(SD_HandleTypeDef *hsd, uint8_t SD_CMD)
{
  HAL_SD_ErrorTypedef errorState = SD_OK;
  uint32_t response_R1;

//!!!!总是写的过程中会死在这个While循环中,找了好久都不知道是什么问题,
  while(!__HAL_SD_SDIO_GET_FLAG(hsd, SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT))
  {
  }

  if(__HAL_SD_SDIO_GET_FLAG(hsd, SDIO_FLAG_CTIMEOUT))
  {
    errorState = SD_CMD_RSP_TIMEOUT;

    __HAL_SD_SDIO_CLEAR_FLAG(hsd, SDIO_FLAG_CTIMEOUT);

    return errorState;
  }
  else if(__HAL_SD_SDIO_GET_FLAG(hsd, SDIO_FLAG_CCRCFAIL))
  {
    errorState = SD_CMD_CRC_FAIL;

    __HAL_SD_SDIO_CLEAR_FLAG(hsd, SDIO_FLAG_CCRCFAIL);

    return errorState;
  }

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。