STM32 DMA数据发送到串口

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、DMA是什么?
    • 1.1 DMA的特征
    • 1.2 DMA的框图
    • 1.3 DMA 数据处理过程
    • 1.4 DMA的仲裁器
    • 1.5 数据传输宽度可能出现的问题
    • 1.6 DMA对应的通道
  • 二、使用步骤
    • 2.1 确定 发送地址和接收地址和数据类型
    • 2.2 开启时钟
    • 2.3 初始DMA
    • 2.4开启DMA
  • 三、实际测试
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

STM32 DMA数据发送到串口_第1张图片

x y
x=y

cpu 怎么做?

  1. 得到x的地址
  2. 得到y的地址
  3. y里面的值给x

如果时DMA

  1. 明确X的地址
  2. 明确y的地址
  3. 将地址数据进行搬运

两者有什么区别?
cpu 获取地址可以随时根据程序来改,
DMA有一个给地址的函数,给了地址这个通道就按照这个地址搬运数据
cpu 灵活,自己去找地址
DMA有对立的通道,必须告诉它通道的起始地址和搬运目标地址,要给定地址
给定数据的类型,搬运数据类型 要一致,
搬运多少数据?


提示:以下是本篇文章正文内容,下面案例可供参考

一、DMA是什么?

1.1 DMA的特征

STM32 DMA数据发送到串口_第2张图片

1.2 DMA的框图

STM32 DMA数据发送到串口_第3张图片

1.3 DMA 数据处理过程

STM32 DMA数据发送到串口_第4张图片

1.4 DMA的仲裁器

STM32 DMA数据发送到串口_第5张图片

1.5 数据传输宽度可能出现的问题

STM32 DMA数据发送到串口_第6张图片

1.6 DMA对应的通道

STM32 DMA数据发送到串口_第7张图片

STM32 DMA数据发送到串口_第8张图片

二、使用步骤

DMA的核心就是数据搬运,搬运数据的核心就是要确定 从什么地方搬运什么类型的数据到什么地方

2.1 确定 发送地址和接收地址和数据类型

2.2 开启时钟

2.3 初始DMA

2.4开启DMA

三、实际测试

串口通过DMA发送数,串口助手接收

总结

你可能感兴趣的:(STM32,学习教程,stm32,嵌入式硬件,单片机)