1、简介
1、ADC(Analog-Digital Converter)模拟-数字转换器
2、ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁
3、12位逐次逼近型ADC(分辨率,一般用多少位来表示,12位AD值,它的表示范围就是0—4095。位数越高,量化结果就越精细,对应分辨率就越高),1us转换时间(转换频率,AD转换是需要花一小段时间的,这里的1us就表示从AD转换开始到产生结果,需要花1us的时间,对应AD转换的频率就是1MHz,这个就是STM32 ADC的最快转换频率。如果需要转换一个频率非常高的信号,考虑这个转换频率是否够用)
4、输入电压范围:0-3.3V,转换结果范围:0~4095
5、18个输入通道,可测量16个外部和2个内部信号源(内部温度传感器和内部参考电压,温度传感器可以测量CPU的温度,内部参考电压是一个1.2V左右的基准电压,不随外部供电电压变化而变化的。如果标准电压不是3.3V,那么可以读取基准电压进行校准。)
6、规则组和注入组两个转换单元
7、模拟看门狗自动监测输入电压范围(测量光照、温度等)
STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道。
1.2、逐次逼近型ADC
1.3 ADC基本结构
转换模式
触发控制
数据对齐
转换时间(针对高转换速率)
校准
硬件电路
2、软件编写
初始化
1、开启RCC时钟,包括ADC和GPIO的时钟,另外ADCCLK的分频器,也需要配置
2、配置GPIO,把需要用的GPIO配置成模拟输入的模式
3、配置多路开关,把左边的通道接入到右边的规则列表里
4、配置ADC转换器
5、开关控制,调用ADC_Cmd函数,开启ADC。