什么是ADC
ADC:(Analog to Digital Converter )模拟数字转换器,本质上是将模拟量转换为数字量。
模拟量:连续的量,温度,湿度,烟雾,电压,光;
数字量:离散的量
STM32F4这个芯片内部有一个温度传感器,开发板板载了一个型号
DS18B20的温度传感器,这个温度传感器内置了ADC,DS18B20为单总线通信。但是芯片内部也有温度传感器,只能测量芯片内部的工作温度,并且没有自带ADC。
STM32的ADC
当前芯片具有3个ADC外设,分别是ADC1,ADC2,ADC3。
12 位 ADC 是逐次趋近型模数转换器。
1、12位的ADC->是模拟量转换为数字量的数字量的最大值(0-4095)。
2、逐次趋近型->转换的数据慢慢的向真实数据靠近。
它具有多达 19 个复用通道,可测量来自 16 个外部源、两个内部源和 VBAT 通道的信号。
1、16个外部源-》GPIO引脚
2、两个内部源-》温度传感器,芯片参考电压
3、VBAT-》纽扣电池电压,后备电源
采样模式:这些通道的 A/D 转换可在单次、连续、扫描或不连续采样模式下进行。
数据存储:ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。
十二位的ADC放入16位的数据寄存器中需要左右对齐
ADC 具有模拟看门狗特性,允许应用检测输入电压是否超过了用户自定义的阈值上限或下限。
ADC在STM32内部是将电压值转换为数字量,这里锁输入的电压值的范围一般都是固定的,如果用户没有自定义输入电压阈值的上下限,一般输入的电压范围都是0V-3.3V。加入用户自定义输入电压阈值的下限为1.2V,上限为3.0V,这个时候ADC允许输入的电压范围是1.2V-3.0V。
|