OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 553|回复: 11

f_mkfs格式化电脑不识别,电脑格式化f_mkfs不识别

[复制链接]

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
发表于 2018-6-10 14:18:02 | 显示全部楼层 |阅读模式
22金钱
本帖最后由 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不识别
      求解决办法?

最佳答案

查看完整内容[请看2#楼]

这是无法抢救了,原因是什么?是不兼容吗?能不能通过改fatfs的源码解决, 我以个金士顿8G卡,一个闪迪8G卡,都不能用
回复

使用道具 举报

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
 楼主| 发表于 2018-6-10 14:18:03 | 显示全部楼层

这是无法抢救了,原因是什么?是不兼容吗?能不能通过改fatfs的源码解决,
我以个金士顿8G卡,一个闪迪8G卡,都不能用
回复

使用道具 举报

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
 楼主| 发表于 2018-6-10 19:23:35 | 显示全部楼层
我给自己顶一顶
回复

使用道具 举报

  离线 

497

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
128364
金钱
128364
注册时间
2010-12-1
在线时间
1137 小时
发表于 2018-6-11 01:43:53 | 显示全部楼层
你电脑格式化是格式化成FAT32么? 然后不用单片机格式化的时候,能读出已用容量和剩余容量信息么?
回复

使用道具 举报

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
 楼主| 发表于 2018-6-12 13:17:16 | 显示全部楼层
正点原子公众号
本帖最后由 fantasyfeather 于 2018-6-12 13:19 编辑
正点原子 发表于 2018-6-11 01:43
你电脑格式化是格式化成FAT32么? 然后不用单片机格式化的时候,能读出已用容量和剩余容量信息么?

是FAT32,能够读出已用容量和剩余容量,就是FATFS创建文件的时候失败,返回错误13

Card Type:SDHC V2.0
Card ManufacturerID:159
Card RCA:1
Card Capacity:7458 MB
Card BlockSize:512


****** FatFs Example ******

mount sucess!!!
SD_ReadBlock,errorstatus = 0
open file error : 13
write file error : 9
close error : 9
SD_ReadBlock,errorstatus = 0
open file error : 13
read error!!! 9
close error!!! 9
FatFs is working well!!!

用单片机格式化之后错误都没有了,但是电脑打开的时候会提示要求格式化
回复

使用道具 举报

  离线 

51

主题

6089

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
9951
金钱
9951
注册时间
2014-4-1
在线时间
924 小时
发表于 2018-6-12 17:11:15 | 显示全部楼层

用过这个指令,也不成功,后来放弃了。


回复

使用道具 举报

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
 楼主| 发表于 2018-6-12 18:28:50 | 显示全部楼层
xuande 发表于 2018-6-12 17:11
用过这个指令,也不成功,后来放弃了。

后来怎么解决的呢?怎么样让电脑和SD卡通用数据
回复

使用道具 举报

  离线 

51

主题

6089

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
9951
金钱
9951
注册时间
2014-4-1
在线时间
924 小时
发表于 2018-6-12 20:26:31 | 显示全部楼层
fantasyfeather 发表于 2018-6-12 18:28
后来怎么解决的呢?怎么样让电脑和SD卡通用数据


后来避开这个事,先用PC格式化,然后上板子。

回复

使用道具 举报

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
 楼主| 发表于 2018-6-12 20:45:15 | 显示全部楼层
xuande 发表于 2018-6-12 20:26
后来避开这个事,先用PC格式化,然后上板子。

唉!我就是用PC格式化以后,FatFS就不认识它了,才用 f_mkfs,但是用FatFS的 f_mkfs格式化以后电脑又不认识它了。导致单片机和PC没办法共享SD卡的数据,有一个能认识也没这么多烦心事了
回复

使用道具 举报

  离线 

51

主题

6089

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
9951
金钱
9951
注册时间
2014-4-1
在线时间
924 小时
发表于 2018-6-12 22:56:37 | 显示全部楼层

仔细看下原子的教材吧,注意头文件里的宏定义。
应当能解决。

回复

使用道具 举报

  离线 

3

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
154
金钱
154
注册时间
2016-11-13
在线时间
22 小时
 楼主| 发表于 2018-6-13 20:58:45 | 显示全部楼层
正点原子 发表于 2018-6-11 01:43
你电脑格式化是格式化成FAT32么? 然后不用单片机格式化的时候,能读出已用容量和剩余容量信息么?

哦,对不起,之前的回复没看清,是我搞错了。重新回复一次:
1,电脑格式化成的是FAT32
2,这个之前看错了,展示了SD卡的容量,把exf_getfree函数也弄过去,发现用f_mkfs格式化以后,8G的卡用FATFS读出来成64G了。
3,用电脑格式化以后放回单片机,exf_getfree函数直接出错,无法读取容量。
回复

使用道具 举报

  离线 

497

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
128364
金钱
128364
注册时间
2010-12-1
在线时间
1137 小时
发表于 2018-6-14 01:20:31 | 显示全部楼层
fantasyfeather 发表于 2018-6-13 20:58
哦,对不起,之前的回复没看清,是我搞错了。重新回复一次:
1,电脑格式化成的是FAT32
2,这个之前看 ...

换卡吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-6-25 23:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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