你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32cubemx usb读卡和fatfs兼容问题

[复制链接]
三川 提问时间:2021-11-21 16:48 / 未解决

芯片使用STM32F411,使能SDIO,四线接SD卡

使用stm32cubemx直接生成USB device,大容量储存设备,可以在电脑上看到U盘,使用stm32cubemx直接生成FATFS文件系统,勾选SD卡选项,可以直接对SD卡进行文件读写操作

问题是:

1,在USB工程上直接勾选FATFS的SD卡选项后,USB不能读卡(即使在这个工程中注释掉FATFS的使能也是一样)

1,在FATFS工程上直接勾选USBdevice+MSC后,USB不能读卡(即使在这个工程中注释掉FATFS的使能也是一样),但FATFS读写SD卡正常

请问下有大佬遇到过这个问题吗

收藏 1 评论1 发布时间:2021-11-21 16:48

举报

1个回答
三川 回答时间:2021-11-24 19:53:23

找到问题了,FATFS版本R0.12C,在FATFS-target下生成了三个用户文件,其中fatfs_platform.c中的函数 uint8_t BSP_PlatformIsDetected(void),会检测管脚电平,如果为低,则SD卡会被FATFS占用(在SD_initialize中调用了BSP_SD_Init(),BSP_SD_Init()中调用了BSP_SD_IsDetected(),BSP_SD_IsDetected()中调用了BSP_PlatformIsDetected()),USB无法操作SD卡或者操作会有问题,但如果这个电平拉高就可以使用USB卡操作SD卡,但FATFS不能读写,可以通过操作这个电平在PC读写和本身读写两种状态切换

但问题来了:为什么一个检测SD卡是否在槽的管教会和FATFS有关,我一直理解为系统的,USB也需要检测这个,但实际上好像不需要

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版