新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 浅谈STM32的DMA模块的使用

浅谈STM32的DMA模块的使用

作者: 时间:2016-11-28 来源:网络 收藏
下面就以我的一个实例来和大家一起学习。这个实例仿真是成功的,我使用的是IAR Embedded Workbench IDE(v4.42)和Manley Mini-kit评估板+ST-Link II来调试,是一个USART+ADC+DMA的例子。

首先,按照相关的资料提示,建立好项目路径、拷贝库文件和相关必要的文件,并建立一个新工程;还有就是设置好IAR IDE的相关设置。一切准备就绪后就开始修改相关的文档:

本文引用地址:https://www.eepw.com.cn/article/201611/322982.htm

conf.h文档的修改是根据应用中有启用的相关功能Module。如下图:

ADC模块的启用设置:

DMA模块的启用设置:

USART模块启用的设置:

其他的如flash、GPIO、RCC、NVIC、HSE等就不一一举例,因为这些几乎每个工程都要用到。

再回头看看我的main.c文档,

下图是相关的私有定义

USART的配制如下(9600,8,N,1):

DMA的配置如下:

ADC的配置如下图(采用了2路A/D多通道的ADC模式):

给各个模块配置的时钟使能如下图;在此想罗嗦一句就是在这个位置的设置我没有给DMA配置时钟,造成DMA功能无法正常使用,也就是前面所有说的与我原先的编程风格有较大的变化的原因,想说一句:在项目中所使用的所有功能模块都要在此配置时钟才能正常工作。

GPIO的配置

如果有开中断子程序,请在在NVIC中配置,还可以定义每个中断子程序的优先级别,由于我的工程没有用到,在此就不罗嗦了。


上一页 1 2 下一页

关键词: STM32DMA模

评论


技术专区

关闭