在线时间857 小时
UID345482
ST金币0
蝴蝶豆5
注册时间2012-3-5
论坛元老
- 最后登录
- 2020-8-13
|
a0a.1 32b0c
【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卡运行程序,如上面输出的信息已经是成功的读取卡的文件了.
教程就此完成,觉的不好的请吐槽下,觉的好的请支持下后期继续.
|
-
-
3.59 MB, 下载次数: 537, 下载积分: ST金币 -1
评分
-
查看全部评分
|