13 A D C 实验 这一节我们将向大家介绍STM32 的ADC
本节将利用 STM32 的ADC1 通道 0 来采样外部电压值值,并在 TFTLCD 模块上显示出来
本节分为如下几个部分: 3
1 STM32 ADC 简介 3
2 硬件设计 3
3 软件设计 3
4 下载与测试 2073
1 STM32 ADC 简介 STM32 拥有1~3 个ADC,这些ADC 可以独立使用,也可以使用双重模式(提高采样率)
STM32 的ADC 是12 位逐次逼近型的模拟数字转换器
它有18 个通道,可测量16 个外部和2个内部信号源
各通道的A/D 转换可以单次、连续、扫描或间断模式执行
ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中
模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值
STM32F103 系列最少都拥有2 个ADC,我们选择的STM32F103RBT6 也包含有2 个ADC
STM32 的ADC 最大的转换速率为 1Mhz,也就是转换时间为 1us(在 ADCCLK=14M,采样周期为 1
5 个ADC 时钟下得到),不要让 ADC 的时钟超过 14M,否则将导致结果准确度下降
STM32 将 ADC 的转换分为 2 个通道组:规则通道组和注入通道组
规则通道相当于你运行的程序,而注入通道呢,就相当于中断
在你程序正常执行的时候,中断是可以打断你的执行的
同这个类似,注入通道的转换可以打断规则通道的转换, 在注入通道被转换完成之后,规则通道才得以继续转换
通过一个形象的例子可以说明:假如你在家里的院子内放了 5 个温度探头,室内放了 3 个温度探头;你需要时刻监视室外温度即可,但偶尔你想看看室内的温度;因此你可以使用规则通道组循环扫描室外的5 个探头并显示 AD 转换结果,当你想看室