打印

请教STM32的SDIO用4线模式读写的问题

[复制链接]
6617|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ysf0929|  楼主 | 2010-3-10 17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32的SDIO读写SD卡,使用4bit模式时,连续读写多块总是提示SD_START_BIT_ERR,从论坛上看到有大虾可以实现4bit多块读写,能不能帮忙指点一二,非常感谢啊。。。
1bit模式连续读写多块是正确的,是2G的SD卡。
我用的是万利的开发板,程序是V2.0.3版的。
沙发
ysf0929|  楼主 | 2010-3-11 09:10 | 只看该作者
没人帮忙吗,貌似有一些大虾调通了啊,自己顶贴

使用特权

评论回复
板凳
IJK| | 2010-3-11 11:18 | 只看该作者
可以试试STM32软件库自带的SDIO例子,看行不行。

使用特权

评论回复
地板
ysf0929|  楼主 | 2010-3-12 16:14 | 只看该作者
谢谢IJK,我就是用的官方的库,用4线读写的时候,需要加硬件流控且将时钟降到18M,这样有的卡就可以读写,但是大量写还是有错误的时候,有的卡就只能执行一次,多次就错。有用4线成功读写的吧,源程序有什么改动的地方吗?还是需要什么设置呢?

使用特权

评论回复
5
ysf0929|  楼主 | 2010-3-12 16:14 | 只看该作者
大家帮帮忙吧

使用特权

评论回复
6
IJK| | 2010-3-12 16:41 | 只看该作者
ST的SDIO库支持3种模式:查询、中断、DMA。一般用DMA可以支持到更高的频率。你用哪种模式?

另外,要看你用怎么样的SD卡,容量多大?

使用特权

评论回复
7
dfsa| | 2010-3-12 20:40 | 只看该作者
楼主应该是用的DMA模式吧

使用特权

评论回复
8
ysf0929|  楼主 | 2010-3-18 14:18 | 只看该作者
3种模式我都试过,同样1线或者4线情况下,DMA、中断、查询速度差不多。如果要说是速度上有差别,就是单块读写和多块读写差很多。

使用特权

评论回复
9
ysf0929|  楼主 | 2010-3-18 14:21 | 只看该作者
就是用的金士顿的1G和2G的卡。1G的旧卡可以用4线,但是需要开硬件流控和频率降低到18M。2G的新卡,4线模式就是报错:检测不到起始位,应该就是没有数据。

使用特权

评论回复
10
ysf0929|  楼主 | 2010-3-18 14:23 | 只看该作者
还有其他一个牌子的一个1G的新卡,也是检测不到起始位。那个旧1G的卡,4线大量写的时候,虽然没有报错,但是写的数据有问题,文件打不开。

使用特权

评论回复
11
ysf0929|  楼主 | 2010-3-18 14:26 | 只看该作者
用公共机上网不方便,有没有人用4线顺利调通的,给指点一下吧

使用特权

评论回复
12
scw8854780| | 2012-12-29 14:55 | 只看该作者
LZ,你的问题有没有解决,我最近也在做这方面的项目,也碰到了和你同样的问题!
无法实现多块读的功能.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

0

粉丝