xufengjuan 发表于 2012-2-28 20:24:04

STM32F207 SDIO

我在调试SD卡时可以读取CSD和CID的信息,但是当调试到 SDEnWideBus  中的  FindSCR(uint16_t rca, uint32_t *pscr)函数时就会卡死在
  while (!(SDIO->STA & (SDIO_FLAG_RXOVERR | SDIO_FLAG_DCRCFAIL | SDIO_FLAG_DTIMEOUT | SDIO_FLAG_DBCKEND | SDIO_FLAG_STBITERR
   )))
  {
    if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET)
    {
      *(tempscr + index) = SDIO_ReadData();
      index++;
   if (index == 2)
     break;
    }
  }
里面,即使在前面的SDIO_DataConfig(&SDIO_DataInitStructure);函数后加上延时也不行, if (SDIO_GetFlagStatus(SDIO_FLAG_RXDAVL) != RESET)条件不成立,SDIO_FLAG_RXDAVL没有置位,我的系统时钟是96Mhz,即使降低频率也不行,调了2天了,请大家给点建议!

 

发表于 2012-2-29 14:27:55

RE:STM32F207 SDIO

可能是SD卡没有启动起来,通讯不成功。建议用示波器看一下通讯时的波形。

120742915 发表于 2016-4-10 12:04:30

同问,没谁知道吗
页: [1]
查看完整版本: STM32F207 SDIO