u16 Get_Adc(u8 ch)和u16 Get_Adc_Average(u8 ch,u8 times)两个函数适用的应用场合
时间: 2024-06-05 19:13:05 浏览: 141
这两个函数都是用于获取单片机内部ADC模块采集到的模拟信号值,但是适用场合略有不同。
- Get_Adc函数适用于对精度要求不高的场合,它只进行一次ADC采集,返回采集到的原始数值。这个函数简单易用,对于一些简单的模拟信号采集任务,可以使用该函数。
- Get_Adc_Average函数适用于对采集精度要求较高的场合,它进行多次ADC采集,取平均值作为最终结果,从而减小采集误差。该函数的优点在于采集精度较高,但是需要进行多次采集,因此运行时间相对较长,适用于对采集精度要求较高、对运行时间要求较松的场合。
相关问题
u16 Get_Adc_Average(u8 ch,u8 times);
这是一个函数声明,它的函数名为 Get_Adc_Average,函数返回值类型为 unsigned short(即 u16),函数有两个参数:一个是 unsigned char(即 u8)类型的 ch,另一个是 unsigned char(即 u8)类型的 times。函数的作用是获取 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。它的功能是获取指定通道(ch)的ADC值,并进行多次采样(times次),然后求取平均值。具体实现如下:
首先,定义一个32位无符号整型变量temp_val,并初始化为0。 然后,定义一个8位无符号整型变量t,用于循环计数。 在循环中,通过调用Get_Adc函数获取ADC值,并累加到temp_val中。 每次采样后,延时5毫秒。 循环结束后,返回temp_val除以times的结果作为平均值。
注意:你没有提供Get_Adc函数的实现代码,所以无法确定它的具体功能。此外,delay_ms函数也没有提供,你可能需要自行实现或使用其他方式进行延时操作。
相关推荐















