蓝桥杯嵌入式拓展板STM32G431--ADC按键
前言
仅涉及实现功能的代码模块,不涉及原理性知识讲解。
原理图
一、ADC接口-cubeMX
由板子可知:AKEY为PA5,对应cubeMX上为ADC2_IN13,配置为Single-ended即可。
二、ADC采值-子函数
代码如下(示例):
/********
ADC按键
*********/
uint16_t ADC_get(void) //get-ADC值
{
uint16_t adc_get = 0;
HAL_ADC_Start(&hadc2);
adc_get = HAL_ADC_GetValue(&hadc2);
return adc_get;
}
三、ADC值多次采样,排序,取中值
代码如下(示例):
uint16_t read_adc(void) //多次采样,排序,取中值
{
uint16_t adc_keep[adc_save];
uint16_t temp;
uint8_t i =0, j =0;
for(i = 0; i < adc_save; i++)
adc_keep[i