STM32CUBEMX配置多通道ADC
ps:最基本的初始化配置、时钟树配置等等这里不做介绍了,可参考作者上一篇文章
配置具体看图,红框圈起来的部分根据需要自己选择采样率
笔者这里为了使用方便,定义了一个全局变量
uint32_t adc_index_buff[5];
然后将此函数添加到代码中,调用即可
void ADC_Get_Average(uint8_t times)
{
uint32_t value_sum[5];
uint8_t i,j;
for(j=0;j<times;j++)
{
for(i=0;i<5;i++)
{
HAL_ADC_Start(&hadc1);
HAL_ADC_PollForConversion(&hadc1,30);
value_sum[i]+=HAL_ADC_GetValue(&hadc1);
}
HAL_ADC_Stop(&hadc1);
}
for(i=0;i<5;i++)
{
adc_index_buff[i]=value_sum[i]/(times);
value_sum[i]=0;
}
}