电脑格式化,FATFS识别不了,FATFS格式化后,电脑识别 不了?

2019-08-13 22:09发布

我前几天做了一个用stm32内部flash模拟的400K小U盘。
下来要搞FATFS文件系统,参照原子哥的例子,最后移植成功了,我把小U盘和FATFS放在了一起。
这样,插上USB和串口线,不久可以直接在PC上面复制,改动文件,然后通过串口调试助手,读取FATFS文件系统了么?

USB和FATFS都很好用,FATFS测试读写,建立文件夹,txt文件,都很好用。
问题是,我直接连接USB到电脑的话,电脑提示需要格式化这个200K的小U盘(后来加了文件系统flash占用大了,就把分配给小U盘的空间改小了)。
我选FAT格式的 4096字节簇大小(我查百度,fat32默认是4096字节的簇大小),格式化好了,当作U盘用很好。
但是我同事插上串口,用调试助手调试,打开文件夹什么的,就会出现0x0D错误,这个错误是no file system。也就是没有文件系统阿。

我通过f_mkfs函数(0,0,4096)将它用FATFS系统格式化,格式化之后,通过串口发送调试函数,都很好用。
但是PC上面的操作没用了,下次再插USB,电脑上会提示需要格式化。。

也就是说我做的固件        电脑和FATFS的格式化不一致阿。
有人遇到相同情况么,求指教阿,我继续去查查资料,读取flash看看

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
操作系统
1楼-- · 2019-08-15 02:55
        if (LD_WORD(fs->win+BPB_BytsPerSec) != SS(fs))                /* (BPB_BytsPerSec must be equal to the physical sector size) */
                return FR_NO_FILESYSTEM;

  电脑格式化的大小应该要与物理的扇区大小一致.可以我的电脑没有512字节 的选项.好奇怪.默认2048,其它的都有.就是没有512
操作系统
2楼-- · 2019-08-15 07:33
 精彩回答 2  元偷偷看……
dqjiang
3楼-- · 2019-08-15 10:53
说好的工程呢,楼主发出看看

一周热门 更多>