概要
模数转换器。将连续的模拟信号转换为离散的数字信号。对连续信号,采样。
ADC控制器个数与通道是不同的概念。对于每个ADC可以有很多通道。
STM32F4有三个ADC控制器,共24个可用引脚。ADC与引脚对应关系。
19个可用通道,ADCx_IN0~ADCx_IN15,温度传感器,Vrefint, Vbat
注入通道和规则通道,决定了ADC执行顺序。
框图的下面是ADC的触发方式。
单次转换和连续转换
单次转换,每个通道转换完后,都有对应的标志位和中断
连续转化,全部通道转换完成后,才有对应的标志和中断,通常使用DMA的方式,获取转换数据
操作步骤
- 打开GPIO时钟,用于配置输入PIN
- 设置ADC时钟
- 设置ADC
- 启动ADC
- 读取ADC的值
精度
确实如手册上所说的,片内的ADC似乎不是很准,接地后,依然可以读出十几个数值(12位,4096)。
关于ADC的精度,可以参考以下文章,写得很详细。
浅谈ADC的误差
ADC中的ABC:理解ADC误差对系统性能的影响
A/D(模数转换)的主要指标
参考
STM32F3与 F4 系列 Cortex M4 内核编程手册
STM32F4xxx中文参考手册
STM32F4xxx英文参考手册
STM32F4 开发指南(寄存器版)