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

STM32CUBEMX生成的SDIO和以前版本的不一样

[复制链接]
feiante 提问时间:2017-8-8 13:36 /
本帖最后由 feiante 于 2017-8-8 14:52 编辑

F4芯片的V1.16版本的HAL库,在用stm32CUBEMX生成SDIO时,有一些小bug,如下
/* SDIO init function */

void MX_SDIO_SD_Init(void)
{

  hsd.Instance = SDIO;
  hsd.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING;
  hsd.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE;
  hsd.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE;
  hsd.Init.BusWide = SDIO_BUS_WIDE_1B;
  hsd.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE;
  hsd.Init.ClockDiv = 0;

}

缺少HAL_SD_Init函数。
stm32f4xx_hal_sd_h文件也和以前版本的不一样了
收藏 评论6 发布时间:2017-8-8 13:36

举报

6个回答
moyanming2013 回答时间:2017-8-8 14:40:24
本帖最后由 moyanming2013 于 2017-8-8 16:20 编辑

结论别下那么快,你稍微深入的看看自己的代码了吗就给这个结论?STM32CubeMX生成的SDIO没有问题!
下图是生成的正确的典型代码:

QQ截图20170808142749.jpg

1.打开“bsp_driver_sd.c”,里面有个BSP_SD_Init()函数,该函数会调用HAL_SD_Init函数。
2.打开“sd_diskio.c”,里面有个SD_initialize(BYTE lun)函数,它会调用BSP_SD_Init()。
在“sd_diskio.c”中还有个变量:const Diskio_drvTypeDef  SD_Driver;SD_Driver是个结构体变量,里面含有指向SD_initialize(BYTE lun)函数的指针。
3.打开“fatfs.c”,其中有个MX_FATFS_Init()函数,该函数会把SD_Driver连接到FATFS文件系统,从而在初始化时间接调用HAL_SD_Init
如果你没用文件系统,那么也需要自己负责调用SD_Driver的一些函数指针。
如果不用Cube也行,需要自己根据参考手册完成SD的所有内容。
如果要添加文件系统但不用FATFS也行,你自己参考微软的文档自己写一个。





张亚飞 回答时间:2017-8-9 09:23:17
楼上很到位。
枫天2015 回答时间:2017-11-20 17:42:29
能否参考下大神们的代码,我怎么生成的代码仅能检测到而已。。。不能读写呢?
g921002 回答时间:2017-11-20 22:29:02
CubeMX4.23 + fatfs R0.12 + SD 這個目前有Bug,不過Bug不在那邊。主要是SDIO Write那邊。
這個issue有提交。目前我是用SPI先應急。SDIO有興趣的朋友可以按照1,2文章修改。
1.http://community.st.com/thread/4 ... rite-speed-solution
2.http://community.st.com/docs/DOC ... fatfs-configuration

官方回應已經提交修訂
http://community.st.com/inbox
16块钱的廉价耳机 回答时间:2018-3-12 12:06:03
这个SDIO档驱动修改完毕了吗
nini2255 回答时间:2018-8-15 15:20:27
枫天2015 发表于 2017-11-20 17:42
能否参考下大神们的代码,我怎么生成的代码仅能检测到而已。。。不能读写呢? ...

您好,我的也是只能检测,但读写测试失败!
与硬石的程序对比,发现SD 读写函数不一样了,不知道怎么解决!
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版