407ZGT6读取SD卡的问题

2019-07-21 03:29发布

我的读取SD卡的程序在100脚的407上是可以用的,但是在144脚的407上用不了,
SD卡与stm32的连接都相同,连接到SDIO-D0~SDIO_D3, SDIO_CK,SDIO_CMD这六个引脚,
但是测试时程序总是卡死在
static SD_Error CmdResp1Error(uint8_t cmd)
{
  SD_Error errorstatus = SD_OK;
  uint32_t status;
  uint32_t response_r1;
  status = SDIO->STA;
  while (!(status & (SDIO_FLAG_CCRCFAIL | SDIO_FLAG_CMDREND | SDIO_FLAG_CTIMEOUT)))
  {
    status = SDIO->STA;
  }
总是卡死在while中,不知道什么原因?哪位出现过这种状况或者知道怎么解决的,请给予帮助,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
汉新手
1楼-- · 2019-07-21 06:25
问题终于解决了,在论坛中找到了一个帖子,原话是这样的:”问题找到了,SDIO->STA一直为发送状态是因为板子上
的外部晶振没有就绪,导致启动后只能使用内部晶振,但在使用内部晶振时没有对PLL进行配置,PLL没有启动,所以
导致没有SDIO_CLK信号。不过现在在DMA读写SD卡这里又出现了问题,下午继续调试,有问题继续请教各位。感谢各位!”
是晶振的原因导致的。原帖的连接如下:
http://www.openedv.com/posts/list/28306.htm
正点原子
2楼-- · 2019-07-21 12:12
读写操作的时候禁止中断试试.
汉新手
3楼-- · 2019-07-21 16:22
回复【2楼】正点原子:
---------------------------------
我把SDIO的中断屏蔽了还是如此,主要是在程序中CMD0时间超出,不知道怎么解决
正点原子
4楼-- · 2019-07-21 19:00
回复【3楼】汉新手:
---------------------------------
移植的是我们的例程?
汉新手
5楼-- · 2019-07-22 00:53
原子哥的历程和其他的例程都试了,都是如此,但是检查硬件连接没问题,就是不通,程序以前用在100脚的407上
是可以用的,用到144脚的就出问题了
正点原子
6楼-- · 2019-07-22 05:57
 精彩回答 2  元偷偷看……

一周热门 更多>