STM32F4 ADC介绍
简介
模数转换器,将模拟信 转换为数字信 。转换原理主要为逐次逼近型、双积分型、电压频率转换型三种。而本ADC呢是逐次逼近型的模拟数字转换器。
STM32F4系列一般都有3个ADC,这些ADC可以独立使用,也可以使用双重/三重模式(提高采样率)。STM32F4的ADC是12位逐次逼近型的模拟数字转换器。
- 多达19个复用通道,可以测量来自16个外部源、2个内部源和Vbat通道的信 。
- 这些通道的A/D转换可以单次、连续、扫描或间断模式执行。
- 结果可以左对齐(4-15位)或右对齐(0-11位)的方式存储在16位数据寄存器中。
- ADC具有模拟看门狗特性,允许应用程序检测输入电压是否超出用户定义的阀值上限或下限。
ADC框图
按照顺序逐步分析ADC的框图,以便编程。
STM32F4 ADC配置步骤
步骤
- 使能端口时钟和ADC时钟,设置引脚模式为模拟输入
- 设置ADC通用控制寄存器CCR,包括ADC模式、ADC输入时钟分频等
- 初始化ADC,包括ADC分辨率、转换模式、数据对齐方式等
- 开启ADC
- 读取ADC转换值
设置规则序列通道以及采样周期的库函数是:
设置好规则序列通道及采样周期,接下来就要开启转换,由于我们采用的是软件触发,库函数
开启转换之后,就可以获取ADC转换结果数据,调用的库函数是:
例如我们要判断 ADC1 的转换是否结束,方法是:
编写ADC控制程序
本章所要实现的功能是:通过 ADC1 通道5采样外部电压值,将采样的AD值和转换后的电压值通过串口打印出来,同时 D1 指示灯闪烁,提示系统正常运行。程序框架如下:
- 初始化 ADC1_IN5 相关参数,开启 ADC1
- 编写获取 ADC1_IN5 的AD转换值函数
- 编写主函数
1. 初始化 ADC1_IN5 相关参数,开启 ADC1
2. 编写获取 ADC1_IN5 的AD转换值函数
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!