初级会员

- 积分
- 76
- 金钱
- 76
- 注册时间
- 2019-7-16
- 在线时间
- 17 小时
|
1金钱
学例程的时候getadc的入口参数是这么写的u16 Get_Adc(u8 ch)
{
//设置指定 ADC 的规则组通道,设置它们的转化顺序和采样时间
ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );
//通道 1,规则采样顺序值为 1,采样时间为 239.5 周期
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能软件转换功能
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
return ADC_GetConversionValue(ADC1); //返回最近一次 ADC1 规则组的转换结果
}
后边的注解是这样
函数 Get_Adc,用于读取某个通道的 ADC 值,例如我们读取通道 1 上的 ADC 值,就可以通过 Get_Adc(1)得到。最后一个函数 Get_Adc_Average,用于多次获取 ADC 值,取平均,用来提高准确度。
取平均值的函数是这样
u16 Get_Adc_Average(u8 ch,u8 times)
{
u32 temp_val=0;
u8 t;
for(t=0;t<times;t++)
{ temp_val+=Get_Adc(ch);
delay_ms(5);
}
return temp_val/times;
所以这个函数应该写成 Get_Adc_Average(1,10)就是求ADC1的通道1的10次平均值
但是在main函数中他却是这么写的
adcx=Get_Adc_Average(ADC_Channel_1,10);
想问下写法为什么成ADC_Channel_1了
|
|