OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13553|回复: 33

ALIENTEK SD相关实验更新(几近完美驱动版本). 刷开发板代码无法格式化的赶紧下载测试一下吧.

[复制链接]

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-1-11 00:34:49 | 显示全部楼层 |阅读模式

    此次修改重点针对MMC_SD.C文件.几乎全盘修改.

    通过此次修改,使得SD卡的支持几近完美.之前不能支持的卡,基本都能支持了.
SD卡底层驱动参考fatfs代码.
    最大支持的卡应该无限制了.大家可以测试一下,我测试16G的卡,是OK的,不过USB读出里面的数据有个别文件夹内的数据不正确,原因未知.

    由于之前买到的一批SD卡,在原有代码上是无法格式化(但是使用正常),并且无法读取容量(这是核心问题),大家可以更新此次发布的代码,这样就可以格式化了. 我测试了好几种卡,没有不识别或者无法格式化的现象.如有其它问题,欢迎大家提出.


                                                                正点原子@ALIENTEK
                                                                2012/01/11

ALIENTEK MiniSTM32开发板例程.rar

1.08 MB, 下载次数: 4198

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

216

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2011-4-7
在线时间
3 小时
发表于 2012-1-11 15:51:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

12

主题

216

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2011-4-7
在线时间
3 小时
发表于 2012-1-11 16:02:02 | 显示全部楼层
试了下获取容量没问题 
回复 支持 反对

使用道具 举报

48

主题

376

帖子

0

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2011-3-18
在线时间
7 小时
发表于 2012-1-11 17:18:17 | 显示全部楼层
good
回复 支持 反对

使用道具 举报

3

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2011-8-23
在线时间
0 小时
发表于 2012-1-11 19:39:42 | 显示全部楼层
原子哥就是认真负责,好样的,对我们这些菜鸟来说,太棒了!!!!!!
回复 支持 反对

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2011-12-7
在线时间
3 小时
发表于 2012-1-11 20:01:27 | 显示全部楼层
下载看看,
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2011-1-4
在线时间
4 小时
发表于 2012-1-11 21:50:38 | 显示全部楼层
顶,先记一下
回复 支持 反对

使用道具 举报

48

主题

376

帖子

0

精华

高级会员

Rank: 4

积分
621
金钱
621
注册时间
2011-3-18
在线时间
7 小时
发表于 2012-1-13 14:01:53 | 显示全部楼层
good
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2011-5-8
在线时间
0 小时
发表于 2012-1-13 14:20:27 | 显示全部楼层
很好。
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2012-1-13 14:22:49 | 显示全部楼层
好东西,下载了,一下测试。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2011-10-15
在线时间
0 小时
发表于 2012-1-13 14:24:45 | 显示全部楼层
顶起。。
回复 支持 反对

使用道具 举报

头像被屏蔽

275

主题

327

帖子

0

精华

禁止访问

积分
1065
金钱
1065
注册时间
2011-7-7
在线时间
34 小时
发表于 2012-1-13 19:28:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

275

主题

327

帖子

0

精华

禁止访问

积分
1065
金钱
1065
注册时间
2011-7-7
在线时间
34 小时
发表于 2012-1-13 19:35:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2012-1-13 19:43:57 | 显示全部楼层
不会啊,我一下就下载了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
97
金钱
97
注册时间
2011-8-15
在线时间
3 小时
发表于 2012-1-13 22:17:45 | 显示全部楼层
不错啊,
回复 支持 反对

使用道具 举报

头像被屏蔽

275

主题

327

帖子

0

精华

禁止访问

积分
1065
金钱
1065
注册时间
2011-7-7
在线时间
34 小时
发表于 2012-1-14 08:08:58 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

275

主题

327

帖子

0

精华

禁止访问

积分
1065
金钱
1065
注册时间
2011-7-7
在线时间
34 小时
发表于 2012-1-14 08:12:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

5

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2011-10-24
在线时间
33 小时
发表于 2012-1-14 09:37:08 | 显示全部楼层
NIU.
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2012-1-28
在线时间
0 小时
发表于 2012-1-28 10:22:58 | 显示全部楼层
正点老兄:usb读卡器程序是不是有问题,我是年前买的开发板,发现读卡器读出rd之后不能在计算机上成为u盘,他是不断地从串口输出rd卡的fat表,而不是在计算机上出现u盘的状态
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2012-1-28
在线时间
0 小时
发表于 2012-1-28 11:08:07 | 显示全部楼层
是我弄错了,usb电缆插到usb口就行了,原先插到232转usb上了
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2010-12-14
在线时间
2 小时
发表于 2012-2-2 02:15:35 | 显示全部楼层
绝对支持
回复 支持 反对

使用道具 举报

2

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2011-10-17
在线时间
0 小时
发表于 2012-2-10 16:24:18 | 显示全部楼层
顶!!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2012-2-18
在线时间
0 小时
发表于 2012-2-19 15:13:15 | 显示全部楼层
原子哥我新买的板 实验8和12下载进去后怎么没有反应呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2012-2-19 16:27:30 | 显示全部楼层
什么情况?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2012-2-18
在线时间
0 小时
发表于 2012-2-21 13:51:28 | 显示全部楼层
我拷贝进去的 8和12实验都没有按照readme提示的效果运行,根本一点反应都没有
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2012-2-21 16:31:00 | 显示全部楼层
8和12都是与SD卡无关的.
8,你要用跳线帽把PA7和PA8短路!
12,长按WK_UP才有反应.另外注意PA0不要和1820跳线帽跳上.还有JTAG不要插.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2012-2-18
在线时间
0 小时
发表于 2012-3-6 00:07:46 | 显示全部楼层
原子哥  新建一个uC/OS-II工程 和平常的普通工程有什么区别吗?我按着“ALIENTEK MINISTM32 扩展实验8 uCOSII控制DS0 DS1亮灭”例子原原本本的抄了这个实验下来可是编译老出现类似这些错误--->
compiling os_cpu_c.c...
assembling os_cpu_a.asm...
linking...
TEST.axf: Error: L6200E: Symbol OSInit multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSIntExit multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSIntNesting multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSStart multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSTaskCreate multiply defined (by ucos_ii.o and os_task.o).
TEST.axf: Error: L6200E: Symbol OSTaskSuspend multiply defined (by ucos_ii.o and os_task.o).
TEST.axf: Error: L6200E: Symbol OSTimeDlyHMSM multiply defined (by ucos_ii.o and os_time.o).
TEST.axf: Error: L6200E: Symbol OSTimeTick multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSEventTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSFlagTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSTaskStatStk multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSTaskIdleStk multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSTCBPrioTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSTCBTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSMemTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSQTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSMapTbl multiply defined (by ucos_ii.o and os_core.o).
TEST.axf: Error: L6200E: Symbol OSUnMapTbl multiply defined (by ucos_ii.o and os_core.o).   这是为什么呢?请原子哥指点。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2012-3-6 08:57:05 | 显示全部楼层
multiply defined 
不懂么?
不懂就百度,两个单词很简单的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2012-2-18
在线时间
0 小时
发表于 2012-3-9 01:56:00 | 显示全部楼层
回复【28楼】正点原子:
---------------------------------
找到出错的原因了,感谢~感谢!
原子哥再向您请教一个问题,在“ALIENTEK MINISTM32 实验20 SD卡实验”中求 V2.0类型SD卡容量的计算公式是不是(C_SIZE+1)*512K?若是,可我在看SD_GetSectorCount()这个函数里面计算SD卡容量的方法怎么和(C_SIZE+1)*512K这个公式不相符呢?若不是,那计算V2.0类型SD卡容量的计算公式是个啥样呢?    我最费解的是主函数main()中的LCD_ShowNum(164,150,sd_size>>11,5,16)这一句,为什么又要右移11位?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2012-3-9 08:59:35 | 显示全部楼层
回复【29楼】与您共赢:
---------------------------------
u32 SD_GetSectorCount(void)
{
    u8 csd[16];
    u32 Capacity;  
    u8 n;
u16 csize;       
//取CSD信息,如果期间出错,返回0
    if(SD_GetCSD(csd)!=0) return 0;     
    //如果为SDHC卡,按照下面方式计算
    if((csd[0]&0xC0)==0x40)  //V2.00的卡
    {
csize = csd[9] + ((u16)csd[8] << 8) + 1;
Capacity = (u32)csize << 10;//得到扇区数      
    }else//V1.XX的卡
    {
n = (csd[5] & 15) + ((csd[10] & 128) >> 7) + ((csd[9] & 3) << 1) + 2;
csize = (csd[8] >> 6) + ((u16)csd[7] << 2) + ((u16)(csd[6] & 3) << 10) + 1;
Capacity= (u32)csize << (n - 9);//得到扇区数   
    }
    return Capacity;
}
代码已经清楚的告诉你了,V1.0和V2.0是两个不同的计算方法.(他们容量存储的格式不一样).
右移11位,就是除以2048.
为什么要除?因为有的卡容量超过了u32的最大表示范围,你不除怎么表示?或许你说用64位,你觉得在液晶上显示一个十几位的数字很爽么? 那电脑的硬盘容量要是有几TB,你都用字节做单位显示,不郁闷死你才怪.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2010-12-14
在线时间
2 小时
发表于 2012-3-27 23:13:41 | 显示全部楼层
这个要支持!
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2014-2-20
在线时间
0 小时
发表于 2014-3-21 21:08:38 | 显示全部楼层
原来除以11是因为得到扇区512字节,除以2得到1K,然后在除以2的10次方得到1M,也就是除以2的11次方,也就是右移11次得到 M的内存大小
回复 支持 反对

使用道具 举报

1

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2014-8-11
在线时间
76 小时
发表于 2014-10-2 17:35:27 | 显示全部楼层
谢谢原子哥!!
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2019-11-5
在线时间
15 小时
发表于 2021-7-29 18:52:43 | 显示全部楼层
谢谢分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 20:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表