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

【Nucleo STM32F767ZI】 STM32CubeMX + SDIO读取TF卡例程 精华  

[复制链接]
mark0668 提问时间:2016-10-13 15:08 /






【Nucleo STM32F767ZI】 STM32CubeMX + SDIO读取TF卡例程


手把手教你使用CUBE 软件生成SDIO 工程,用到的软件版本 (STM32CubeMX 4.17),(HAL 库1.5.0),,,,(KEIL 5.20).


1.jpg

1.打开CUBE软件选择F7开发板型号.

2.jpg

2.选择外部晶振作为内核时钟,选择SDMMC1-> SD 4位模式
3.jpg

3.选择串口3 为输出信息.

4.jpg

4.选择外部时钟为输入源,配置内核时钟216M,SD时钟48M.

5.jpg

5.选择SD Card 作为FATFS驱动.

6.jpg
6.给SDIO 添加两个DMA 发送和接收数据.

7.jpg

7.开启SDIO 的中断.
8.jpg

8.给串口设置下8位数据,和波特率.
9.jpg

9.对FATFS 进行相应设置.如上图支持中文编码和长文件名.
10.jpg

10.这步比较重要,发送和接收DMA的优先级要比SDIO的中断要低.

11.jpg

11.给工程的每个外设都生成个*.C,*.H 这样方便管理每个外设.

12.jpg

12.设置下工程名,使用的开发环境,再把堆栈设置大点,如上面.点击OK生成工程.

13.jpg

13.生成工程后打开修改下这源码,改成DMA模式读取和发送,再给sector 前面强制转换为64位类型,这个是CUBE生成软件的BUG一直以来都存在着,这BUG体现在SD卡的地址如果超过了32位就会溢出,强制转换为64位就可以解决了.

14.jpg

14.这是main.c 的读取源码,详细的代码下载附件查看.

15.jpg

15.编绎工程下载,插入TF卡运行程序,如上面输出的信息已经是成功的读取卡的文件了.

教程就此完成,觉的不好的请吐槽下,觉的好的请支持下后期继续.

STM32F767ZI_SDIO.rar

下载

3.59 MB, 下载次数: 569, 下载积分: ST金币 -1

评分

参与人数 5 ST金币 +52 收起 理由
Ian-392967 + 5 很给力!
strang + 2 很给力!
wofei1314 + 5 很给力!
wjandsq + 20 很给力!
zero99 + 20 赞一个!

查看全部评分

1 收藏 11 评论25 发布时间:2016-10-13 15:08

举报

25个回答
阿莫西林 回答时间:2017-2-10 08:49:15
你好,我用stm32f103zet6原子的战舰v3,使用cubemx,在添加sdio的dma时,无法添加RXTX两个中断,只能设置一个中断,但是可以选择从内存到从机或者是从从机到内存。只能设置一个dma中断,导致我读写函数只有一个可以改成dma。实际测试,发现改用dma和不用dma速度一样。不知道我哪里弄错了,谁遇到过这情况,麻烦指点一下
小黑111 回答时间:2018-3-19 19:31:01
本帖最后由 小黑111 于 2018-3-19 22:04 编辑
wuQAQ 发表于 2017-2-10 02:53
不行啊,大哥你的代码会卡死

卡死可能是因为stm32cubef7版本的问题,V1.9.0更新日志里修复,但是我还是没调好,只能用楼主的版本
mark0668 回答时间:2016-10-28 15:19:42
kylongmu 发表于 2016-10-28 10:38
改为64bit后的SD卡能支持超过32g吗?

可以的
mark0668 回答时间:2016-10-13 15:09:30
沙发占着!
zero99 回答时间:2016-10-13 15:59:23
多谢楼主的无私分享
埃斯提爱慕 回答时间:2016-10-13 18:28:43
提示: 作者被禁止或删除 内容自动屏蔽
mark0668 回答时间:2016-10-13 18:56:37
zero99 发表于 2016-10-13 15:59
多谢楼主的无私分享

谢谢支持
mark0668 回答时间:2016-10-13 18:56:52

你的板弄的咋样了
逍遥李 回答时间:2016-10-13 19:16:40
不错不错,感谢分享了
Paderboy 回答时间:2016-10-13 19:52:00
多谢多谢。。
assssdz 回答时间:2016-10-13 20:21:18
assssdz 回答时间:2016-10-13 20:30:31
:):):):):):):):)
ynwscfsfi 回答时间:2016-10-14 00:52:53
感谢分享
assssdz 回答时间:2016-10-15 20:35:08
zbber 回答时间:2016-10-16 09:11:26
收藏了,感谢楼主的无私分享
kylongmu 回答时间:2016-10-28 10:38:47
改为64bit后的SD卡能支持超过32g吗?
anobodykey 回答时间:2016-10-28 11:16:35
12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版