打印
[其它]

合泰单片机AD采集滤波程序

[复制链接]
466|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hudi008|  楼主 | 2022-11-16 13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 eltonchang2001 于 2022-11-24 12:00 编辑
/**************************************************************
函数名称:NtcAD_Testing()
函数功能:温度传感器采样函数
入口参数:
出口参数:Flag_Ntc_OneAd,AdResult
备    注:采样NTC的AD值,采样6次,去掉最大及最小求算术平均值
**************************************************************/
void NtcAD_Testing(unsigned char i)
{
        //static volatile unsigned char        admin,admax,adtimes;        
        //static volatile unsigned int        adsum;
        //static volatile bit Flag_ADFrist;
    if(Flag_AD&&ADIF)
        {  
                Flag_AD=0;
                if(!Flag_ADFrist)
                {
                        admax = ADRESH;
                        admin = ADRESH;
                        Flag_ADFrist=1;
                }
                else if(ADRESH > admax)
                        admax = ADRESH;                                //AD采样最大值
                else if(ADRESH < admin)
                        admin = ADRESH;                                //AD采样最小值
               
                adsum += ADRESH;
                if(++adtimes >= 6)
                {
                        adsum -= admax;
                        adsum -= admin;        
                        AdResult = adsum >> 2;                //8次平均值作为最终结果
                        Flag_ADFrist=0;
                        if(admax>(admin+20))      
                        {   //最大值及最小值差20个8BITAD则当前采样数据作废
                                
                            adsum = 0;
                            admin = 0;
                            admax = 0;
                            adtimes = 0;
                    }
                    else
                    {
                             adsum = 0;
                            admin = 0;
                            admax = 0;
                            adtimes = 0;
                                ADnex++;
                                Flag_Ntc_OneAd=1;
                              
                    }        
                }
        }
        
}


使用特权

评论回复

相关帖子

沙发
adolphcocker| | 2022-12-1 17:15 | 只看该作者
单片机的计算速度怎么样?              

使用特权

评论回复
板凳
sheflynn| | 2022-12-1 17:51 | 只看该作者
这个使用均值滤波或者滑动滤波就行。

使用特权

评论回复
地板
albertaabbot| | 2022-12-1 19:55 | 只看该作者
这个滤波太简单了吧。              

使用特权

评论回复
5
jackcat| | 2022-12-1 20:26 | 只看该作者
可以运行巴特斯沃滤波算法吗              

使用特权

评论回复
6
sdCAD| | 2022-12-1 21:48 | 只看该作者
温度采集的时候,只是有波动而已,不会出现错误。

使用特权

评论回复
7
saservice| | 2022-12-2 20:20 | 只看该作者
均值滤波是最简单的算法了。              

使用特权

评论回复
8
Stahan| | 2023-1-3 15:06 | 只看该作者
这个滤波太简单

使用特权

评论回复
9
mollylawrence| | 2023-1-5 16:36 | 只看该作者
推荐使用几个滑动窗口呢?              

使用特权

评论回复
10
mattlincoln| | 2023-1-5 17:06 | 只看该作者
滤波算法的吗?              

使用特权

评论回复
11
chenjun89| | 2023-1-6 07:50 | 只看该作者
就是一个平均值滤波嘛

使用特权

评论回复
12
i1mcu| | 2023-1-6 20:38 | 只看该作者
自带的ADC稳定吗?              

使用特权

评论回复
13
tifmill| | 2023-1-6 21:59 | 只看该作者
这个的计算量怎么样              

使用特权

评论回复
14
kkzz| | 2023-1-9 10:49 | 只看该作者
做滤波算法,需要考虑到单片机的计算能力。

使用特权

评论回复
15
芯路例程| | 2023-1-9 17:47 | 只看该作者
滤波要考虑的参数挺多的,均值滤波其实也适合很多传感器。

使用特权

评论回复
16
V853| | 2023-1-9 17:48 | 只看该作者
像ADC这一类的数据,采用这种滤波算法还是不错的。

使用特权

评论回复
17
LLGTR| | 2023-1-9 17:48 | 只看该作者
i1mcu 发表于 2023-1-6 20:38
自带的ADC稳定吗?

基本是不稳定的,所以需要软件滤波。

使用特权

评论回复
18
LLGTR| | 2023-1-9 17:49 | 只看该作者
tifmill 发表于 2023-1-6 21:59
这个的计算量怎么样

不大,都没涉及到浮点型。就除法费点计算量。

使用特权

评论回复
19
updownq| | 2023-1-10 19:18 | 只看该作者
这个均值滤波,太简单 。              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

240

主题

9431

帖子

11

粉丝