滤波-限幅消抖


//使用限幅消抖             //
//vesion1.0               //
//2021.12.03              //

#define n_OPTIMIZE_OFFSET 1//优化偏差
#define n_OPTIMIZE_COMPARE_TIME 10 //比较的次数

typedef volatile unsigned char BYTE;

void TSK_DEAL();//主任务
BYTE RUNNING_TARGET_OPTIMIZE();
void CLEAR_OPTIMIZE();

BYTE D_input;
BYTE D_target;

BYTE D_optimizeLessCnt;
BYTE D_optimizeMoreCnt;

void TSK_DEAL()//主任务
{
    if(RUNNING_TARGET_OPTIMIZE())
    {
        D_target = D_input;
        CLEAR_OPTIMIZE();
    }
}

BYTE RUNNING_TARGET_OPTIMIZE()
{
    BYTE f=0;
    if(D_target > D_input)//目标值大于输入
    {
         if(D_target > (D_input+n_OPTIMIZE_OFFSET))
        {
            if(D_optimizeMoreCnt < n_OPTIMIZE_COMPARE_TIME)D_optimizeMoreCnt++;
            else f=1;
        }
        D_optimizeLessCnt=0;
    }
    else if(D_input < D_target)//目标值小于于输入
    {
        if((D_input+n_OPTIMIZE_OFFSET) < D_target))
        {
            if(D_optimizeLessCnt < n_OPTIMIZE_COMPARE_TIME)D_optimizeLessCnt++;
            else f=1; 
        }
         D_optimizeMoreCnt=0;
    }
    else
    {
        D_optimizeLessCnt=0;
        D_optimizeMoreCnt=0;
    }
    return f;
}

void CLEAR_OPTIMIZE()
{
    D_optimizeLessCnt=0;
    D_optimizeMoreCnt=0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值