首页 资讯 论坛 我的社区 搜索 用户

[HAL库]简单AD滤波

无闻风
发表于 2020-04-12 17:46:01
0
787

本例程是用HAL库读取两个通道的ADC值再滤波


//input your code:
#define set_filtering_times 50        //滤波次数
unsigned long adc_filtering[2]={0,0};//ADC缓存

for(a=0;a<2;a++)                     //HAL读取两个通道
{
	HAL_ADC_Start(&hadc);
	while(HAL_ADC_PollForConversion(&hadc,0xffff)!=HAL_OK);
	adc_filtering[a]+=HAL_ADC_GetValue(&hadc); //读到的数据加给缓存				
}
HAL_ADC_Stop(&hadc);	
			
filtering_times+=1;                              //累积次数
if(filtering_times==set_filtering_times)         //次数够了以后 把缓存除次数就是ADC值
{
	filtering_times=0;
	adc_value[0]=adc_filtering[0]/set_filtering_times;
	adc_filtering[0]=0;
	adc_value[1]=adc_filtering[1]/set_filtering_times;
	adc_filtering[1]=0;
				
	
}


最后修改 2020-04-12 17:46:01
0
787
用户评论
一起折腾