CubeMX系列教程——15 adc 中断和DMA

这篇文章将使用ADC的中断和DMA功能采集输入的电压,打开上一章的adc工程,开启 ADC的中断功能,配置如下

CubeMX系列教程——15 adc 中断和DMA_第1张图片

修改ADC的参数配置,使能ADC的连续转换,生成MDK初始化代代码工程。

CubeMX系列教程——15 adc 中断和DMA_第2张图片

在工程中修改如下测试代码,将EOCSelection配置为开启连续转换标识符。默认为生成单次转换完成标识符。如果不修改,会进入adc的err中断回调函数。

CubeMX系列教程——15 adc 中断和DMA_第3张图片

在主函数中添加代码,启动ADC的中断,同时在接收完成回调函数中添加测试代码。

CubeMX系列教程——15 adc 中断和DMA_第4张图片

查看测试结果,输入 0V时的转换结果

CubeMX系列教程——15 adc 中断和DMA_第5张图片

输入3.3V的采集转换结果

CubeMX系列教程——15 adc 中断和DMA_第6张图片

接下来介绍如何使用ADC的DMA功能,打开上一章的ADC工程,开启连续转换功能

CubeMX系列教程——15 adc 中断和DMA_第7张图片

开启DMA功能,配置DMA参数,点击ADD,选择DMA2 Stream 0,因为是单通道采集,所以取消 memory增长的配置,选择循环模式。

CubeMX系列教程——15 adc 中断和DMA_第8张图片

开启DMA中断,并生成MDK

CubeMX系列教程——15 adc 中断和DMA_第9张图片

在工程中,修改代码,使能DMAContinuousrequests

CubeMX系列教程——15 adc 中断和DMA_第10张图片

在主函数中添加测试代码

CubeMX系列教程——15 adc 中断和DMA_第11张图片

查看测试效果,输入0V和3.3V的结果

CubeMX系列教程——15 adc 中断和DMA_第12张图片

CubeMX系列教程——15 adc 中断和DMA_第13张图片

这里单通道ADC的中断和DMA讲解完毕。

你可能感兴趣的:(python,java,vue,android,html)