目录
硬件和原理:
(如果想快速入手使用的话,这边可以略过直接上手配置代码和cubeMX)
稍微了解,加深对代码进行配置的理解。
STM32G431内部集成2个有最高12位的ADC(ADC1和ADC2)他们是逐次逼近型数模转换器。
主要特性:
可配置的转换精度: 6 位, 8 位, 10 位, 12 位转换电压范围: 0 ~ V REF+ ( 一般接到 3.3V 电源 ,不能超过 STM32 芯片电源电压)19 个转换通道: 16 个外部通道( IO 引脚) + 3 个内部通道(温度传感器、内部电压参考、电池供电监测)采样时间可配置扫描方向可配置多种转换模式:单次,连续数据存放对齐方式可配置:左对齐,右对齐( ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中)启动转换方式可配置:软件触发,硬件触发可设置上下门限的模拟看门狗DMA 功能在转换结束、注入转换结束以及发生模拟看门狗或溢出事件时产生中断
一个ADC可以处理十九个通道
功能框图:

大致可分为七个部分:
1、电源和参考电压:
![]()
如果有低功耗的要求,那就配置内部寄存器,控制ADC的电源开关/
2、输入通道:
![]()
0~15个外部通道和三个内部通道,
考试的时候想要知道是哪一个引脚可以去芯片手册上查找

3、通道和转换顺序:
实际就是排序
规则通道:
意思就是规规矩矩的按照顺序来转换,平时用的就是这类通道
规则通道序列:
规则通道序列由四个寄存器控制着,ADC_SQR1~ADC_SQR4四个寄存器,从SQR1到SQR4这四个32位寄存器中规定了16个转换,而这16个转换也不是必须全部都用,可以编程控制的,并且每一个转换可以存放ADCx_IN0~15的任何一个输入通道,
注入通道:
这里和规则通道就不同了,注入可以理解为插队。他是一种在规则通道转换的时候强行插入要转换的一种。这点和中断有点像,当规则通道转换中,有注入通道插队那么得先传换注入通道,然后在倒回来转换规则通道。
注入通道顺序:
四个注入通道也能进行排序。
但是整体上来看注入通道的优先级更高。
转换时序图:
ADC在开始精确转换之前需要一段稳定时间t.,ADC 开始转换并经过十五个周期后,EOC标志1,转换结果存放在16位ADC数据寄存器中。
ADC_CLK:时钟
ADON:ADC的开关,寄存器的一个位,打开这个位了,AD就正式使能了
SWS:软件触发
ADC:进行转换
EOC:发送转换结束的标志
4、触发源:
![]()
使用控制寄存器启动时,很简单,为ADOD位写1开始转换,写0停止转换。
使用外部事件来触发转换,这个触发包括内部定时器触发和外部IO触发。
触发源的选择由ADC_CFGR的EXTSEL[3:0]

本文详细介绍了STM32G431微控制器中集成的ADC特性和工作模式,包括转换精度、电压范围、通道配置、转换顺序、触发源、转换时间和数据寄存器。还讨论了不同模式如单次、连续、扫描和DMA应用模式,以及如何通过CubeMX配置ADC并编写代码进行数据采集。







733

被折叠的 条评论
为什么被折叠?



