驱动SD卡,在初始化函数SD_PowerON时,死在SD_CMD_RSP_TIMEOUT。
我是F103驱动TF卡。使用的是HAL库。通过cube生成工程后,进行调试发现,初始化不成功。
单步调试发现,在SD_PowerON函数中,先发送CMD0,再发送CMD8发送后,resp寄存器没有数据,导致判断R7响应为SD_CMD_RSP_TIMEOUT,从而初始化失败。
通过示波器发现,CMD8命令发送之后,在CMD信号线上再没有信号出现。但是在D0线上却有高低电平出现。
换了3个TF卡了,都是这里出问题。
所以各位大神们,为啥发送CMD命令后,D0线会有数据出现,而CDM信号线上没有。
我这是硬件电路问题还是软件那里不对呢?