蓝桥杯嵌入式外设开发记录 - ADC电压采样
本文记录了学习蓝桥杯嵌入式开发过程中的ADC电压采样的记录
蓝桥杯嵌入式外设开发记录 - ADC电压采样
蓝桥杯嵌入式外设开发记录 - ADC电压采样
基本信息
| 项目 | 内容 |
|---|---|
| 开发板型号 | CT117E(STM32G431RBT6) |
| 开发环境 | STM32CubeMX 6.6.1, Keil uVision5 MDK 5.38 |
| 记录日期 | 2025-3-4 |
1.CubeMX 配置
配置完成引脚后在Anlog的ADC1和ADC2内的输入通道勾上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
进行授权
