在用CH569的SDIO口,用CMD53指令向从机发送数据没有问题,但用CMD53从从机读取多个字节数据时,收到的数据不对,DMA验证是有工作了,观察从机发数据数据波形也是对的,但不知为啥就是收到的数据完全不对?
期望官方大佬能给释疑
您好
前面的其他指令收发是否有问题呢,例如CMD52,另外搜到CMD53不同于52,没有相应,参考CMD0是否可行?
你好,CMD52收发都没有问题,使用cmd53,从机是有指令响应的,并且也发出了数据,观察数据也是正确的,但是CH569就是收到的数据不对,从机发送了不同数据,CH569还是收到与之前一样的错误的数据,感觉CH569哪里有个BUG?
CMD52是不占用数据线的,CMD53是要占用数据线的,而且用CMD53发送数据也是没有问题的,就是接收数据错误,郁闷中。
仿照CMD17 即SDCardReadOneSec函数能否操作呢?可以把代码贴出来看下,是否只有SDIO卡不行?SD卡正常吗?
如若还是不行可以将问题发送至邮箱dxy@wch.cn
感谢,现在可以读了!先是按你提示的用SDCardReadOneSec函数,把里面的CMD17改成CMD53,能读,但是把读字节长度改成4之后,就会失败,改成16就没问题;然后用我的代码读,也是长度必需大于16才能读;请问读的最小长度是16字节吗?另外失败的时候,读回来的数据一直不变(是之前正确读返回的数据),掉电后上电读也是不变,我还曾经误以为是成功的!
这个就要看SDIO本身协议是怎么规定的了,和单片机外设本身没有关系。
从我自己找的一些网上的资料来看是固定写16字节(仅供参考),具体还请相关协议规范。