STM32 DMA数据发送到串口

本文介绍了DMA(直接内存访问)的基本概念,包括其特征、框图、数据传输过程和仲裁机制。重点讲述了使用DMA的步骤,如设置地址、数据类型和时钟,以及在实际测试中通过串口应用的例子。对比了CPU与DMA在数据处理上的灵活性差异。
摘要由CSDN通过智能技术生成

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


前言

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

在这里插入图片描述

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的特征

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1.2 DMA的框图

在这里插入图片描述

1.3 DMA 数据处理过程

在这里插入图片描述

1.4 DMA的仲裁器

在这里插入图片描述

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

在这里插入图片描述

1.6 DMA对应的通道

在这里插入图片描述

在这里插入图片描述

二、使用步骤

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

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

2.2 开启时钟

2.3 初始DMA

2.4开启DMA

三、实际测试

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

总结

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值