mark0668 发表于 2016-10-13 15:08:12

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



【Nucleo STM32F767ZI】 STM32CubeMX + USB读取U盘文件例程

【Nucleo STM32F767ZI】 STM32CubeMX + USB_DEVICE 大容量U盘教程




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

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




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



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


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



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



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


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



7.开启SDIO 的中断.


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


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


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



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



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



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



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



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

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

阿莫西林 发表于 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

dsjsjf 发表于 2016-10-13 18:28
学习学习

你的板弄的咋样了

逍遥李 发表于 2016-10-13 19:16:40

不错不错,感谢分享了

Paderboy 发表于 2016-10-13 19:52:00

:loveliness::loveliness:多谢多谢。。

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

:lol:lol:lol:lol:lol
页: [1] 2
查看完整版本: 【Nucleo STM32F767ZI】 STM32CubeMX + SDIO读取TF卡例程