本帖最后由 fantasyfeather 于 2018-6-10 14:18 编辑
自己画了个电路板,焊接上micro SD卡和STM32F405RG的单片机,自编加移植原子哥的驱动代码,SD卡底层驱动没什么问题了,基本信息都能正常读。但是Fatfs(0.13版本,换0.10版本也不行)文件系统出了问题,主要是这样:
1, 最开始在打开创建txt文档的时候, 返回错误代码13,网上查了一下是找不到文件系统,需要把磁盘格式化
2, 调用f_mkfs函数格式化之后 f_mkfs("0", FM_FAT32, 4096, work, sizeof(work)); Fatfs读写都正常了
但是新的问题出现了,把micro SD卡用读卡器插到电脑上,提示需要格式化
3, 好吧,用电脑格式化之后重新放到单片机上,又是错误代码13
尝试过修改f_mkfs的参数,path 写过0,1,簇大小设置过512,4096,还直接写过0,FAT32改成FAT编译没通过,这些不同的参数尝试过后还是没解决,
总结起来,问题是:f_mkfs格式化电脑不识别,电脑格式化f_mkfs不识别
求解决办法?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
后来避开这个事,先用PC格式化,然后上板子。
唉!我就是用PC格式化以后,FatFS就不认识它了,才用 f_mkfs,但是用FatFS的 f_mkfs格式化以后电脑又不认识它了。导致单片机和PC没办法共享SD卡的数据,有一个能认识也没这么多烦心事了
哦,对不起,之前的回复没看清,是我搞错了。重新回复一次:
1,电脑格式化成的是FAT32
2,这个之前看错了,展示了SD卡的容量,把exf_getfree函数也弄过去,发现用f_mkfs格式化以后,8G的卡用FATFS读出来成64G了。
3,用电脑格式化以后放回单片机,exf_getfree函数直接出错,无法读取容量。
一周热门 更多>