请教u16 Get_Adc_Average(u8 ch,u8 times) 函数

2019-08-20 17:13发布

请教一下原子哥的去AD平均数的函数
中间有个delay_ms(5)
请问这个5ms是怎么计算的?

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;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
taizonglai
1楼-- · 2019-08-20 21:49
go to define!查看delay_ms()函数内容,对于STM32而言,ms延时是通过滴答定时器来完成的
Gareth
2楼-- · 2019-08-21 03:01
 精彩回答 2  元偷偷看……
15937417823
3楼-- · 2019-08-21 03:27
Gareth 发表于 2017-4-24 16:48
我的意思是,为什么要延时这个5个毫秒。
如果不延时呢?

在我看来,每次AD转换都需要一个时间,这个延时是用来保证上一次转换完成的。
Gareth
4楼-- · 2019-08-21 06:51
如果有2个通道需要取值,穿插在程序和中断中,这样的话,时间很难保证了。
如果加了这5ms的延时,又浪费了很多时间。
有没有官方数据可以判断,2次AD之间需要间隔多少时间?
huishun1314
5楼-- · 2019-08-21 07:03
要准确的就用中断

一周热门 更多>