打印

stm32的mass storage(SDIO)例程在调试中发现无**常识别sd卡,寻求解决方法

[复制链接]
2529|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
playajoek|  楼主 | 2013-1-9 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在调试stm32的mass storage(SDIO)例程时候,发现1Gsandisk可以很快识别出来,读写正常,而金士顿的8G sdhc class10卡识别则需要接近20秒,
pc显示盘符后,像sd卡里面写数据,会出现像死机一样的几秒,然后,发送数据,而且速度很慢。
之前用同事的金士顿8G sdhc class 4识别也很正常。
不知道是什么原因,调试的时候,发现程序大多时间是等待在如下函数里的while循环,不知道有没有人也同样碰到类似的问题,寻求解决方法。
(利用金士顿4G sdhc class4的micro sd(加卡套)也是出现同样的问题)
只是换了卡,就出现这样的问题了。。。。
static SD_Error CmdResp1Error(uint8_t cmd) //传入的参数有什么用?
{                  
        /*不是这些状态就等待        */
  while (!(SDIO->STA & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT)))
{
  }

  SDIO->ICR = SDIO_STATIC_FLAGS;        //清中断标志
SDIO_ClearFlag(SDIO_STATIC_FLAGS);
  return (SD_Error)(SDIO->RESP1 &  SD_OCR_ERRORBITS);                //判断是否在供电范围
}
沙发
JasonWangFAE| | 2013-1-9 16:19 | 只看该作者
Do you use ST libraries?

使用特权

评论回复
板凳
playajoek|  楼主 | 2013-1-9 16:30 | 只看该作者
是啊,只是换了几种卡,效果就不一样了

使用特权

评论回复
地板
playajoek|  楼主 | 2013-1-9 17:21 | 只看该作者
确定卡都是没有问题的,sdio时钟设置为24MHZ,真心不知道问题在哪,香主能否指点下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝