文章

蓝桥杯嵌入式外设开发记录 - ADC电压采样

本文记录了学习蓝桥杯嵌入式开发过程中的ADC电压采样的记录

蓝桥杯嵌入式外设开发记录 - ADC电压采样

蓝桥杯嵌入式外设开发记录 - ADC电压采样

基本信息

项目 内容
开发板型号 CT117E(STM32G431RBT6)
开发环境 STM32CubeMX 6.6.1, Keil uVision5 MDK 5.38
记录日期 2025-3-4

1.CubeMX 配置

配置完成引脚后在AnlogADC1ADC2内的输入通道勾上Single-ended

2.相关代码

1
2
3
4
5
double Get_ADC(ADC_HandleTypeDef *hadc)
{
    HAL_ADC_Start(hadc); //可在相关stm32g4xx_hal_adc.h找到
    return HAL_ADC_GetValue(hadc)*3.3/4096; //参考电压为3V3,12bit的分辨率
}

3.DMA连续采样(非阻塞获取)

需要添加一个DMA请求:

增加以下配置:

完成上面的设置后即可开始编写代码:

16 adc1_buff[1] = {0}; // 接收数组

HAL_ADC_Start_DMA(&hadc1,(u32 *)adc1_buff,1); //打开dma的adc采样

1
2
3
4
5
while (1)
  {
    /* USER CODE END WHILE */
    uint16_t channel1_value = adc1_buff[0]; //获取数值
  }
本文由作者按照 CC BY 4.0 进行授权