论坛有人成功在STM32F103RDT6上,使用SDIO的DMA对TF卡进行写多块操作吗?

2019-08-17 10:09发布

问题:STM32F103RDT6,SDIO使用DMA对TF卡进行写多块,DMA使用SD_CMD_WRITE_MULT_BLOCK写完2个块(1024字节,每块512字节),并发送完SD_CMD_STOP_TRANSMISSION命令后,再次发送任何一条命令(包括第二次写1024字节的SD_CMD_WRITE_MULT_BLOCK命令),TF卡的D0管脚都会突然从原来的高被卡拉成低,

没发命令前是高的,发完就立刻变低,这就意味着卡变成忙了,然后后面的数据块都无法继续传输下去,紧急求解!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
zxa123456
1楼-- · 2019-08-18 14:43
ljz1987cj 发表于 2017-5-18 19:28
可以写多块啊 我的意思是连续的写 不是1024一起丢进去dma,发送512完,等待busy完,再丢512,再停止传输

有没有这部分的代码,发我一份,确保你测试写多块通过的。1095696200@qq.com
ljz1987cj
2楼-- · 2019-08-18 18:24
zxa123456 发表于 2017-5-19 00:23
有没有这部分的代码,发我一份,确保你测试写多块通过的。,

没有  之前也有碰到类似的情况 后来我改成了连续单块写  没用多块写
zxa123456
3楼-- · 2019-08-18 20:43
确实,忘了在写之前等待卡不忙

一周热门 更多>