|
最近在2440上玩fatfs被卡住了,花了几天时间研究SD卡,现在底层sd卡读写数据都可以,但是上了fat就不行了
现象是这样的:初始化能成功,f_mount也返回成功 但是之后f_open之类的指令都不行,每次调用这些函数串口总打印出sd卡初始化的信息,感觉就是sd卡初始化又被调用了一次- res= disk_initialize (0);
- if(res==0) printf("SD_init OK! \n");
- else printf("SD_init Fault! \n");
- res=f_mount(0,&fs);
- if(res==0) printf("SD_mount OK! \n");
- else printf("SD_mount Fault! \n");
- res = f_open(&fil, "123.txt", FA_CREATE_NEW);
- if(res==0) printf("f_open 123.txt OK! \n");
- else printf("f_open 123.txt Fault! res= %d\n",res);
- res=f_mount(0,0);
- if(res==0) printf("SD_UN_mount OK! \n");
- else printf("SD_UN_mount Fault! \n");
复制代码 代码如上,效果如下图
sd卡底层测试如下:
上图是测试代码
上图是串口读取8194扇区内容输出到串口
上图是winhex查看sd卡的8194扇区内容数据
数据显示一模一样了,写入连续8个扇区,winhex查看连续8个扇区都正确
请做过这个的朋友传授点经验! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|