stm32f446关于SD卡读写问题以及FATFS问题

2019-07-14 18:29发布

问题1:cubemx中SDIO选择4 bit wide bus模式,时钟频率45Mhz。生成相关工程文件。 代码如图,只是跑hal库封装好的两个基本函数,出现的问题是在调试的时候接受数据数组sdbuf[0].arr[512] 中接受到了16个数据。

。学生对于sd读写不是特别清楚,想请教下这个是什么原因,把写数据改成8个,接受数组有12个数据。
FATFS问题会另外发帖
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
TOPCB
1楼-- · 2019-07-15 17:14
看代码你这样的操作是属于SD卡直接读写。使用文件系统是要初始化SD卡的。下图是我找的HAL初始化SD卡的过程。注意看SD_GoIdleState这个函数。
吕少大大
2楼-- · 2019-07-15 21:23
直接操作SD卡扇区,可能会导致SD卡文件系统的破坏。

http://www.stmcu.org/module/forum/thread-607767-1-1.html
可参考:STM32Cube学习之十四:SDIO FATFS.pdf
blnocyyp2002
3楼-- · 2019-07-15 23:43
吕少大大 发表于 2018-8-18 08:11
直接操作SD卡扇区,可能会导致SD卡文件系统的破坏。

http://www.stmcu.org/module/forum/thread-607767-1-1.html

你这个我看过,但是好像有点过时了,我按照你的操作,就是IDE用的是IAR,按照你的操作来完全不可行。一直卡在f_open下面。怎么都过不去
blnocyyp2002
4楼-- · 2019-07-16 01:04
 精彩回答 2  元偷偷看……
tianyou15
5楼-- · 2019-07-16 01:48
你写SD卡的数据,改写掉了FatFS文件系统的相关数据,所以插到电脑上,电脑检测不出来文件系统,所以需要格式化

一周热门 更多>