请教下原子哥,关于ADC数据处理的问题

2019-10-14 23:44发布

这是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;
}          
各位大神们:这段代码中的,delay_ms(5); 是有什么作用?  同时在UOCII上怎么实现这个延时?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
正点原子
1楼-- · 2019-10-15 01:39
1,延时5ms,错开采集时间,连续间隔的采集,以便得到更好的平均效果(采样间隔较长)
2,5ms是我们UCOSII的最小节拍,刚好可以让OS引起一次任务调度,以便其他任务正常 运行。
xdzhang
2楼-- · 2019-10-15 06:38
我理解延时5ms是为了使ADC有住够的时间进行数据转换。
xdzhang
3楼-- · 2019-10-15 11:09
 精彩回答 2  元偷偷看……
xdzhang
4楼-- · 2019-10-15 12:07
我理解延时5ms是为了使ADC有住够的时间进行数据转换。
xdzhang
5楼-- · 2019-10-15 16:12
我理解延时5ms是为了使ADC有住够的时间进行数据转换。
xdzhang
6楼-- · 2019-10-15 21:33
我理解延时5ms是为了使ADC有住够的时间进行数据转换。

一周热门 更多>