OpenEdv-开源电子网

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

菜鸟在MINI板子上移植最新FATFS-R0.1,实现基本的文件创建与读取功能,欢迎拍砖

[复制链接]

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
发表于 2013-10-19 16:24:00 | 显示全部楼层 |阅读模式
如题,工程在附件中
调试方法:先把程序烧进MINI板子,然后把串口工具打开,复位一下板子,然后看到串口中显示等待
   插入SD卡,然后插入已格式化的SD卡,然后根据串口中显示的提示复位一下板子就可以了。
   串口波特率:9600

FATFS移植到MINI板子.rar

2.14 MB, 下载次数: 799

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-19 16:27:48 | 显示全部楼层
另外说明一下,程序中做了一下限制,只能使用V2.0版SDHC卡,其他卡暂不支持,嘿嘿···本人用的4G的SD卡测试的,完全没问题。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-10-19 19:23:16 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

13

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2013-6-21
在线时间
0 小时
发表于 2013-10-20 22:03:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2013-10-21 17:01:02 | 显示全部楼层
楼主,你好,程序烧入好后,重启MINI板,串口没有接收到数据呢。 9600,8,无,1!!
知识是你最好的财富
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-10-13
在线时间
0 小时
发表于 2013-10-21 17:16:32 | 显示全部楼层
至少我的2g卡不行。。
There's always hope.hoho~
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 17:23:19 | 显示全部楼层
回复【5楼】默默莱:
---------------------------------
SD卡有没有格式化成FAT32格式的呢?另外刚开始时需要复位一下板子的,现在我的板子没在手边,晚上把我实验的串口截图给你看看吧···
另外,我也是菜鸟一只,遇到问题还得多向原子哥请教啊,嘿嘿···希望能早点解决问题,共同进步啊···
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 17:32:11 | 显示全部楼层
回复【6楼】Always__Hope:
---------------------------------
抱歉,程序里面设置了一下,只支持2.0版SDHC的卡,而且2.0版本的卡也分为两类呢,不知道这位同僚的2G卡是普通的SD卡,还是SDHC的卡?程序里面一些选项改掉就能用了,希望能帮到您···
switch(SD_Type)  //检测是否为2.0卡,如果不是,则不予处理;
{
case 0:
printf("\r\n 未检测到有效SD卡,请插入一张有效的SD卡···\n");
while(SD_Initialize())Delay(5000); 
printf("\r\n 检测到SD卡,检测其类型及容量:\n");
SD卡类型在这里做了限制-------------->        if(SD_Type==6)//卡类型等于6,是2.0版的SDHC卡;等于4,是普通2.0版本的卡
                                                   {
printf(" \nSD卡扇区数量:0X%X扇区\n",SD_GetSectorCount());
printf("\r\n 现在请复位一下板子,以便对SD卡进行处理\n");
}
else printf("\r\n 亲,插得卡不是2.0版的哦,请插入SDHC的卡,然后复位一下板子\r\n");
while(1);//死循环

case 6:printf("\r\n 检测到有效SD卡,下面继续对此卡进行处理!\r\n");
       break;
default:printf("\r\n 亲,插得卡不是2.0版的哦,请插入SDHC的卡,然后复位一下板子\r\n");
while(1); //死循环
 }
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-10-13
在线时间
0 小时
发表于 2013-10-21 17:56:28 | 显示全部楼层
回复【8楼】嵌入式奋勇前进:
---------------------------------
我把这一串去掉了,只对它操作文件也不行。。我自己改的也不行,在电脑上看,始终没看到文件存在。。额,我试了两张卡1g和2g 说是mmc卡。。
There's always hope.hoho~
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-10-13
在线时间
0 小时
发表于 2013-10-21 18:32:13 | 显示全部楼层
res=f_open(&fdst,"0:/Demo.TXT",FA_OPEN_EXISTING|FA_READ);卡的类型返回值是4, res返回值是1,错误的,,怎么回事。。搞了两天了。。累,不想搞了,移植半天也没移植上,我只想搞个简单的移植,原子哥又太复杂了。。
There's always hope.hoho~
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 20:46:07 | 显示全部楼层
回复【10楼】Always__Hope:
---------------------------------
卡的类型是4,属于2.0版的SD卡啊。另外串口助手里能不能返回数据啊?能返回卡的扇区数目吗?如果没有返回扇区数目信息,那就应该是初始化没成功呀···我本来想搞两天就搞定的,结果光fatfs的数据手册看了好几天,移植起来真不容易呀
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 20:51:23 | 显示全部楼层
把程序烧进去,先不要插卡,然后把板子用串口接上电脑,然后

打开这个串口助手,然后复位一下板子,就可以看到这个界面的信息了
                                       
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 20:54:29 | 显示全部楼层


 然后把使用FAT32格式化后的SD卡插入MINI板子的卡槽,就会在串口调试助手看到这个回复界面,看到这个界面后,再按一下复位键
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 21:00:14 | 显示全部楼层


 再次按一下复位键以后,就会看到如上图所示的界面。这时,把SD卡拔出来,然后插在电脑上,然后打开就会看到SD卡里多了一个文件:demo.TXT

我使用的是闪迪的4G的SD卡,实验成功了,SD卡上标有"SDHC"标识。另外,SD卡上有个LOCK档位,也容易把卡搞成锁死的。

希望能帮到各位同在嵌入式道路上奋进的同志们。
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-10-13
在线时间
0 小时
发表于 2013-10-21 21:24:58 | 显示全部楼层
回复【11楼】嵌入式奋勇前进:
---------------------------------
能初始化,能获取扇区数,就是不能就不能打开文件读写操作。还有,我把原子哥的图片实验和汉字实验下到32里试了下,在sd卡根目录都把东西放进去了都不行。。我想可能是我的硬件有问题了。。。。解决不了,头痛。。。。三天了,这个没移植上,下面的实验又不好做。。真想搁置不管,先玩两天再搞。。。可马上,哎,大四了,危机感有木有!!!
There's always hope.hoho~
回复 支持 反对

使用道具 举报

3

主题

14

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2013-10-13
在线时间
0 小时
发表于 2013-10-21 21:27:21 | 显示全部楼层
那个lock是锁死的意思?我以为是锁住好让sd卡充分接触板子。。但是我推上去还是一样,额。。
There's always hope.hoho~
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-21 22:08:34 | 显示全部楼层
回复【15楼】Always__Hope:
---------------------------------
额···硬件问题的话,得找原子哥帮忙了啊,让原子哥开恩,给你发个新板子···
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2013-10-21 22:47:37 | 显示全部楼层
楼主,今晚又多次尝试,发现可以通信,实验了2张卡,金士顿4GB /8GB 均可! 
      不过第一次初始化等了很久,大概有4分钟左右 突然可以了。你的程序可以在MINI上用,对你表示歉意!附件上传我做实验的图片



知识是你最好的财富
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2013-10-21 23:07:32 | 显示全部楼层
再换张 MINI的闪迪1GB卡,套上转SD卡套插入就不能初始化成功了。
在增加了SD_Type==4 ,普通卡照样通过,普通卡初始化成功了! 
不过个人觉得你的初始化串口部分应该有点问题,复位不是那么听话呵!
我都不知不停的按了多少次,还改了串口波特率!换成高点的波特率通信,终于见到乱码了,然后改到9600,就能通信了!
if(SD_Type==4)//卡类型等于6,是2.0版的SDHC卡;等于4,是普通2.0版本的卡 




知识是你最好的财富
回复 支持 反对

使用道具 举报

4

主题

28

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2013-10-12
在线时间
1 小时
 楼主| 发表于 2013-10-22 09:14:08 | 显示全部楼层
回复【18楼】默默莱:
---------------------------------
谢谢支持啊,另外串口中可能存在的问题我再仔细研究一下,默默菜兄弟也帮忙看一下吧,发现问题及时帮我纠正,先道声谢啦,在这条曲折的道路上,大家共同进步啊。
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2013-10-22 11:41:27 | 显示全部楼层
你客氯了,一起进步!
知识是你最好的财富
回复 支持 反对

使用道具 举报

7

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2012-12-21
在线时间
0 小时
发表于 2014-4-10 17:22:54 | 显示全部楼层
回复【18楼】默默莱:
---------------------------------
fatfs能支持8g 的sd卡啊、、、????
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2014-8-12 19:20:57 | 显示全部楼层
是的,经过测试可以用的!我试过了!
知识是你最好的财富
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 00:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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