浅谈STM32的DMA模块的使用
首先,按照相关的资料提示,建立好项目路径、拷贝库文件和相关必要的文件,并建立一个新工程;还有就是设置好IAR IDE的相关设置。一切准备就绪后就开始修改相关的文档:
本文引用地址:https://www.eepw.com.cn/article/201611/322982.htmADC模块的启用设置:
DMA模块的启用设置:
USART模块启用的设置:
其他的如flash、GPIO、RCC、NVIC、HSE等就不一一举例,因为这些几乎每个工程都要用到。
再回头看看我的main.c文档,
下图是相关的私有定义
USART的配制如下(9600,8,
DMA的配置如下:
ADC的配置如下图(采用了2路A/D多通道的ADC模式):
给各个模块配置的时钟使能如下图;在此想罗嗦一句就是在这个位置的设置我没有给DMA配置时钟,造成DMA功能无法正常使用,也就是前面所有说的与我原先的编程风格有较大的变化的原因,想说一句:在项目中所使用的所有功能模块都要在此配置时钟才能正常工作。
GPIO的配置
如果有开中断子程序,请在在NVIC中配置,还可以定义每个中断子程序的优先级别,由于我的工程没有用到,在此就不罗嗦了。
评论