完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
又碰到了新的问题。
还是使用的是野火F429的开发板。现在想模拟一个U盘,通过USB Device接口,让PC直接读取开发板上SD卡的数据。 首先用一个SDIO + FatFS的工程,在SD卡里建立若干个文件,大小不定(从几十k到几百M)。 此时关电拔卡插入PC(PC自带读卡器),能正确识别到卡,打开后各个文件的大小和占用空间也都没问题。 此时把卡插回开发板,开发板程序烧写为USB Device + SDIO工程。PC上能正确识别到U盘,但是内容就有些问题了。第一是可用空间有偏差,显示已用空间为4个G,可所有文件加起来只有几百M。第二是文件个数少了很多,还出现了一个不存在的文件RrAA啥的。 我想问下这种情况是什么地方设置的不对吗? 先谢谢大家了。 |
|
相关推荐
7个回答
|
|
USB Device 模拟 U 盘的时候,你应该跳过 FATFS 直接让电脑访问到 SD 卡扇区。
|
|
|
|
对的,就是这么处理的。 两个工程,USB的工程里没有FatFS相关文件。在u***d_storage_msd.c里面调用SDIO的接口函数。 另一个工程是SDIO + FatFS,把卡初始化成FatFS格式,并在里面建立一些文件。 现在USB能识别出来,卡容量也对,但是似乎一些格式参数识别有问题,文件个数不对,文件也打不开。是否PC通过USB无法识别FatFS? |
|
|
|
之前遇到过SD卡读写时卡内出现乱码的问题,原因是文件系统读写时没有正确打开和关闭,楼主可从这方面查查看
|
|
|
|
感谢回答! 但我认为是这个问题的可能性不大。 因为USB工程并不包含FatFS的代码,USB只是透传,对文件系统的识别和操作是PC进行的(我的理解)。 而此时SD卡中的文件系统数据并未损坏,因为卡直接插PC里没有发现任何问题。 |
|
|
|
|
|
|
|
ll1589179925 发表于 2018-12-28 16:46 有可能问题出在 FatFS 上。换一个版本试试,或者说尝试一下把 SD 卡镜像下来在电脑上用 FatFS 读取一下。如果说后者可以成功,说明你用的 FatFS 和电脑上的 FAT 驱动程序不兼容,但 FatFS 可以自己兼容。 |
|
|
|
本帖最后由 tanic 于 2018-8-7 10:40 编辑
CUBEMAX 直接生成 然后修改下 那个xxxxxx_if.c文件里的接口即可 内部ram 模拟U盘 U盘大小可设置 反正假的 链接:https://pan.baidu.com/s/1_PrhfoeXW2O4lSCFu4vSew 密码:0e7h |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 21:07 , Processed in 0.691424 second(s), Total 58, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号