STM32 ADC介绍
有三个独立的ADC
12位分辨率
每个ADC有18个通道、外部通道16个(由于芯片引脚数量有区别、部分芯片不能全部拥有16个外部引脚)
STM32 ADC框图
1、电压输入范围 2、输入通道 3、转换顺序 4、触发源
5、转换时间 6、数据寄存器 7、中断
2、电压输入范围
VREF+:电源参考正极
VREF-:电源参考负极 一般与电源地相连
VDDA:ADC电源
VSSA:ADC电源地
##STM32测量高于参考电压的方法
根据基尔霍夫定律(KCL),节点流入的电流等于流出的电流
(Vint – Vout)/R2 + (3V3-Vout)/R1 = Vout / R3
电阻选配方法:
先假设R1电阻值,然后分别选取Vint & Vout 进行输入试验,选取两组结果列方程,求出R2 & R3
Vout = (Vint + 10) /6
2、输入通道
3、转换顺序
规则通道:平时使用的通道
注入通道:在规则通道转换时,可强行进行注入通道转换,类似中断
(可设置16通道中4个为注入通道)
在SQRn寄存器中可以设置通道的转换优先顺序、转换通道数量
在JSQR寄存器中可以设置注入通道转换优先顺序、转换注入通道数量
##根据转换注入数量,依次由固定的寄存器位开始转换
4、触发源
软件触发:设置寄存器位,转换规则通道。或者注入通道
外部触发:定时器触发
外部I/O中断触发
5、转换时间
转换时间:Tconv = 采样时间 + 个周期
ADC_CLK:最大时钟为14MHz
##一般为PCLK=72MHz、分频之后ADC_CLK为12Mhz
采样时间:可软件选择,
Tconv min = + =14 周期 = 14/12 us =
6、数据寄存器
规则组:数据存放在ADC_DR寄存器
注入组:数据存放在JDRx寄存器(x = 1-4)
##所有的规则组数据都存放在ADC_DR
##每次转换结束后,会产生DMA请求
7、中断
规则组转换结束中断
注入组转换结束中断
模拟看门狗中断
STM32 ADC结构体&函数
ADC_InitTypeDef—初始化结构体
ADC_Mode:独立模式(单个ADC转换)等。(其余为双ADC的模式、注入模式等)
ADC_ScanConvMode:ADC扫描使能
ADC_ContinuousConvMode:ADC持续转换使能
ADC_ExternalTrigConv:ADC触发模式
ADC_DataAlign:ADC数据
stm32-adcword版 来自淘豆网m.daumloan.com转载请标明出处.