OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4053|回复: 8

STM32H7的DMA初始化问题

[复制链接]

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-3-30
在线时间
18 小时
发表于 2018-8-11 21:35:37 | 显示全部楼层 |阅读模式
10金钱
HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks);
HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks);
HAL_StatusTypeDef       HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length);


请问,论坛的各位大神。H7的HAL中每个外设都有类似上面函数,但是我看函数里面也没有开DMA的时钟,而且最近看原子哥SD卡实验的例程,例程里面似乎也没有做DMA的初始化。。不知道是不是我看漏了,请各位大神指教。小弟感激不尽

最佳答案

查看完整内容[请看2#楼]

dma有时钟开启的,你看我们寄存器版本代码。不过SD卡驱动,没有提供DMA了。。直接全部是查询方式的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-8-11 21:35:38 | 显示全部楼层
dma有时钟开启的,你看我们寄存器版本代码。不过SD卡驱动,没有提供DMA了。。直接全部是查询方式的。
回复

使用道具 举报

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
发表于 2018-8-12 09:56:20 | 显示全部楼层
本帖最后由 qiousanxi 于 2018-8-12 09:57 编辑

sd卡的dma是专用的dma,你初始化sdmmc的中断就可以使用了,可以参考下st的dma例程。我测试过,不是很好用,而且官方代码也没有使用。但是注意sd卡数据只能读取到,AXISRAM
回复

使用道具 举报

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-3-30
在线时间
18 小时
 楼主| 发表于 2018-8-12 19:22:40 | 显示全部楼层
正点原子 发表于 2018-8-11 21:35
dma有时钟开启的,你看我们寄存器版本代码。不过SD卡驱动,没有提供DMA了。。直接全部是查询方式的。

那不得很慢
回复

使用道具 举报

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-3-30
在线时间
18 小时
 楼主| 发表于 2018-8-12 19:24:28 | 显示全部楼层
qiousanxi 发表于 2018-8-12 09:56
sd卡的dma是专用的dma,你初始化sdmmc的中断就可以使用了,可以参考下st的dma例程。我测试过,不是很好用, ...

MDMA吗?另外请教一下,我SD卡初始化成功了,打印的信息也是对的。能擦除,但是读和写都出错了。。。我直接调用HAL库的SD外设的读写函数。不知道问题出在哪里了  
回复

使用道具 举报

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
发表于 2018-8-13 15:42:04 | 显示全部楼层
2939564153 发表于 2018-8-12 19:24
MDMA吗?另外请教一下,我SD卡初始化成功了,打印的信息也是对的。能擦除,但是读和写都出错了。。。我直 ...

看看你时钟 对不对,建议25M
回复

使用道具 举报

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-3-30
在线时间
18 小时
 楼主| 发表于 2018-8-14 10:39:24 | 显示全部楼层
qiousanxi 发表于 2018-8-13 15:42
看看你时钟 对不对,建议25M

是数据的地址问题。。。
回复

使用道具 举报

4

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2017-3-30
在线时间
18 小时
 楼主| 发表于 2018-8-14 10:39:39 | 显示全部楼层
qiousanxi 发表于 2018-8-13 15:42
看看你时钟 对不对,建议25M

谢谢
回复

使用道具 举报

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
发表于 2018-8-14 13:58:00 | 显示全部楼层
解决 就好了,还有SD卡的 DMA 是专用的,你可以看下SD卡章节,一定注意  SD卡的DMA  只能到达AXISRAM
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-2 19:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表