用stm32移植FATFS的过程中,我弄了几天始终搞不懂2个问题。关于底层引脚和f_read()的问题。 5

我发现网上大部分的例程都是在"sdcard.c"中直接/*ConfigurePC.08,PC.09,PC.10,PC.11,PC.12pin:D0,D1,D2,D3,CL... 我发现网上大部分的例程都是在"sdcard.c"中直接 /* Configure PC.08, PC.09, PC.10, PC.11, PC.12 pin: D0, D1, D2, D3, CLK pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
/* Configure PD.02 CMD line */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOD, &GPIO_InitStructure);
问题是,我可以更改它的引脚吗?我找不到他们与SD卡的联系!

问题二:f_read()中,发现只能读取到该文件的前512个字节,然后就读不下去了(我设置char buf[512];)。有时候遇到读几个MB时,没那么大的内容怎么办,为什么不会借着往下读。换下一个簇读写,应该可以的,我看SD读写是可以的。我用f_lseek(),发现更改指针不行啊!
我想到了一种比较笨的方法!但是能连续地读内容来,希望跟我有一样疑问的人,有个参考!
for(i=0;i<20;i++)
{
result = f_mount(0, &fs);
result = f_opendir(&DirInf, "/");
result = f_open(&file, "123.txt", FA_OPEN_EXISTING | FA_READ);
result = f_lseek(&file,i*512);
result = f_read(&file, &buf, sizeof(buf) - 1, &bw);
printf("\r\narmfly.txt content : \r\n%s\r\n", buf);
f_close(&file);
f_mount(0, NULL);
}
展开
 我来答
百度网友6315ec5a9
2014-12-01 · TA获得超过416个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:171万
展开全部
  1. 关于第一个问题你需要读一下STM32的硬件参考手册,在STM32中这几个引脚就是可肢庆以被配置为四线制SD卡的那几个引脚的(clk cmd d0 d1 d2 d3)。引脚不能更改,除非你改变读写SD卡的方式,比如使用SPI口读写SD卡;或者愿意软件模好饥滑拟IO读写SD卡

  2. 第二个问题不太清楚你的描述,是不是你的底层友腊函数没有写好

c_ming_86
2012-04-12
知道答主
回答量:10
采纳率:0%
帮助的人:6.6万
展开全部
楼主,请问你的FATFS读取文件没有问题吗??
我也移植了,但是出现的问题就是FATFS读取不胡谈对,,在f_open()里面运行时候,雀碰读出fmt=2,然后就结束了FATFS文件系统运行。。很顷做谈郁闷……

我是STM32+SDIO+FATFS操作,SD工作没有问题,因为我调用disk_read()读取出来了SD卡的内容,就是FATFS不行。。能否请楼主给予以下你的工程参考一下呢?/
还有就是网上有人说SDIO读取fatfs时候会出现DMA报错,所以使用有问题。。不知道为何你的没有问题……

我邮箱是371403578@qq.com
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wxuke
推荐于2018-03-28 · TA获得超过416个赞
知道小有建树答主
回答量:136
采纳率:100%
帮助的人:81.3万
展开全部
SD卡的引脚配置可以改吧亮信,那要看皮唤硬件连接燃键凯,一般用SPI接口或者使用SDIO接口,就看在哪个引脚上,改变就行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xdzdh1989
2019-12-01
知道答主
回答量:2
采纳率:0%
帮助的人:1.8万
展开全部
我也遇到了第二郑肢种情况,直接STCUBEMX生成的,USB MSC FATfs 读的时候只能读512以内的,超过的就会出错,咐没只能分多次衡丛纳读,估计官方的USB驱动有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式