博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32之DMA的使用
阅读量:4617 次
发布时间:2019-06-09

本文共 568 字,大约阅读时间需要 1 分钟。

一、配置DMA的一般流程

 

1、开启DMA模块时钟,开启要使用DMA通道的外设的时钟;

2、按照配置外设的一般步骤配置外设,包括相关IO的配置,外设工作方式的配置等;

3、调用外设的DMA配置命令函数配置外设是接收数据通道还是发送数据通道使用DMA;

4、配置相应的DMA通道,在STM32中不同的DMA通道支持的外设通道不同,所以要查阅STM32的参考手册,确定要配置的DMA通道,配置过程如下:

         4.1、配置DMA通道的工作方式,比如外设地址,内存地址,传输的数据宽度和数据量等等;

         4.2、配置DMA通道的中断以及中断处理函数。

 

二、使用DMA时需要注意的问题

 

1、不同的DMA通道支持的外设不同,例如SPI1的DMA通道是DMA1_Channel3,而SPI2的DMA通道是DMA1_Channel5。

2、DMA使用场景一般是,传输的数据量和传输的时间确定。例如使用SPI或者串口发送字节数确定的数据,而通过中断方式接受数据的场景不适合DMA,例如使用中断的方式通过串口接收数据时,因为每次有数据到来的时候,串口中断都会打断CPU的运行,CPU要介入处理且一般情况下不知道发送方发送的数据量是多少,所以不好配置DMA

转载于:https://www.cnblogs.com/heart-flying/p/9456067.html

你可能感兴趣的文章
网络编程基础之socket编程
查看>>
各种浏览器的user-agent和
查看>>
Restful levels
查看>>
Phonegap移动开发:布局总结(一) 全局
查看>>
Java 变参函数的实现
查看>>
nrf51 SDK自带例程的解读
查看>>
SESSION技术
查看>>
数据结构(五)之直接插入排序
查看>>
SQL函数——LENGTH()和LENGTHB()
查看>>
vim - manual -个人笔记
查看>>
详解Javascript中prototype属性(推荐)
查看>>
angularjs实现首页轮播图
查看>>
Git 对象 和checkout 和stash的笔记
查看>>
团队项目总结2-服务器通信模型和顺序图
查看>>
hdu 1085 Holding Bin-Laden Captive!
查看>>
[周记]8.7~8.16
查看>>
递归定义
查看>>
kindeditor 代码高亮设置
查看>>
图的邻接表存储
查看>>
2018 leetcode
查看>>