STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器。它有 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。
最大的转换速率为 1Mhz,也就是转换时间为 1us(在 ADCCLK=14M,采样周期
为 1.5 个 ADC 时钟下得到),不要让 ADC 的时钟超过 14M,否则将导致结果准确度下降。
f=1/T 1Hz=1 000 000Hz
规则通道组:正常运行的程序
注入通道组:相当于中断
注:ADC不能直接接负极
VREF- ≤ VIN ≤ VREF+ ; VREF- = 0,2.4 ≤ VREF+ ≤ 3.6v
当要测负电压或测电压信号超出范围时,先经过运算电路进行平移或利用电阻电压
内部基准电压: Vchx = Vrefint ×(ADchx / ADrefint)
Vrefint:为参照电压=3.3v
ADchx:17通道采集到的ADC数值
ADrefint:4096 stm32ADC是12位,AD字最大值为4096,也就是2的12次方。