03 ADC 电压采样
实验目标
使用 ADC1 读取 PA5 / ADC_IN5 上的电位器电压,将 12 位原始值换算为电压和百分比,并观察噪声与滤波效果。
配置要点
- ADC 时钟不要超过 STM32F1 规格上限。
- 通道选择
ADC_CHANNEL_5,采样时间从较长档位开始。 - 单次轮询适合入门;连续采样和多通道再考虑 DMA。
c
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1, 10);
uint16_t raw = HAL_ADC_GetValue(&hadc1);
float voltage = raw * 3.3f / 4095.0f;滤波练习
连续采集 16 个样本,比较原始值、均值和中值结果。均值可降低随机噪声,中值对偶发尖峰更稳健。
验收
- 旋钮两端读数接近 0 和 4095。
- 中间位置的电压与万用表测量基本一致。
- 静止时滤波后波动小于原始数据。