stm32学习——DMA

学习STM32DMA之前去书上学习详细点的知识

来源:计算机组成原理(唐朔飞)

1.DMA接口具备的功能

在这里插入图片描述
可以总结为三步:1.请求DMA传输2.得到权限,确定数据传输双方的地址和数据的结构3.传输结束进行通知

使用DMA重点

1.初始化

初始化中也就是两个基地址的选择,第一个是外设基地址。外设及地址在<<stm参考手册>>中进行下载,以串口的发送寄存器作用示例作为展示

首先需要下载stm32参考手册(是参考手册而不是数据手册),在参考手册中找到对应的存储器组织结构中对应外设的映射,取得地址
在这里插入图片描述

在这里插入图片描述

第二步找到对应的寄存器,然后得到他的寄存器地址(给出一般是偏移地址,偏移地址就是相对基地址的移动量)

在这里插入图片描述

两个地址量相加就是外设地址,一般会将这个计算变成有实际意义的声明(使用宏定义的形式)

内存中的地址

一般作为数组来进行设置,所以传递是数组名的一个指针

中断

想要使用来自DMA的中断,使用的步骤为:
1.给NVIC对应的DMA1中断进行配置
2.使用DMA中断库函数进行初始化
3.配置中断服务函数,在中断服务函数中检测数据完成的事件相关的状态位是否发生改变,如果改变的选择相应的操作,同时最后还有对状态位的清除操作

时钟

前面我们对时钟的配置是在APB2总线上设定定的

usart:在这里插入图片描述

而现在是对AHB总线上的DMA1进行初始化这一点和其他不一致

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值