ADC采集
功能介绍
ADC (模数转换器) 是 STM32 的核心模拟外设,硬件采用逐次逼近型 (SAR) 架构,将 0~VREF+ 范围的模拟电压转换为 12 位数字值 (0~4095)。STM32G474 内置 5 个独立 ADC,支持单端和差分输入,最高采样率可达 5.33 MSPS。
ADC 采集广泛用于:电压测量、电流检测 (配合采样电阻)、温度传感器读取、电位器位置检测、电池电量监测等模拟信号采集场景。配合 DMA 可实现多通道高速连续采集,不占用 CPU 资源。
ADC 特性
主要参数
- 12位分辨率 (0-4095)
- 5个独立 ADC (ADC1-5)
- 支持差分输入
- 最高采样率 5.33 MSPS
转换模式
单次转换
触发一次转换一次
连续转换
自动连续转换
扫描模式
依次转换多个通道
HAL 库函数
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 100);
uint16_t value = HAL_ADC_GetValue(&hadc1);
// 电压计算触发源
常用触发方式
- 软件触发
- 定时器触发 (TIM6/TRGO)
- 外部中断触发