完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
TF卡为金士顿8G卡 SDHC。
使用STM32F103VCT6,SPI3驱动方式。CMD0和CMD8可以正常响应,接着发送CMD55,ACMD41,返回值均为0x01,如果循环发送,第二次CMD55没有应答,程序判断为0xFF。一直卡在这个地方.... 代码如下: retry = 0; do { r1 = SD_SendCommand(CMD55, 0, 0); if(r1!=0x01) { //第二次发送CDM55时,返回,debug发现r1为0xFF. return r1; } r1 = SD_SendCommand(ACMD41, 0x40000000, 0); retry++; if(retry>200) return r1; }while((r1)!=0); 示波器看波形,第二次CMD55指令正常发出,CLK也正常。但没有应答数据。 有没有朋友遇到这种情况,请帮忙分析下,谢谢!!! |
|
相关推荐
7个回答
|
|
按照SD/TF卡的初始化套路,如果代码没有问题,那就检查下初始化时钟是不是太高,硬件电路接法是不是有问题,是不是卡的问题有没有换个卡试试。
|
|
|
|
换个卡试试!
|
|
|
|
感谢回复。 都查过了,换了张ADATA的卡,可以了。但原因还是不明。 |
|
|
|
|
|
|
|
我想不是每种SD卡都支持SPI模式,或者说有些SD卡控制器在SPI支持方面是有重大缺陷的,因为SD卡绝大部分情况下是使用SDIO接口的,很少有人使用SPI,嵌入式系统用的SD卡数量和消费电子用的SD卡数量不是一个数量级的呢,所以在SPI接口上的投入能省则省吧。 |
|
|
|
60user58 发表于 2019-4-19 18:00 感觉不一定是不支持SPI,如果SPI的问题,复位和查询卡类型的指令,也不会响应吧? 可能是卡的指令由精简,对某些指令不支持? |
|
|
|
万分感谢大神
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
316 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
834 浏览 2 评论
1996 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1099 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1525 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 07:34 , Processed in 0.580062 second(s), Total 55, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号