STM32学习+电机控制

编码器数据溢出处理
思想:溢出两种形式向前溢出。比如从65535到2,数据溢出了,此时调用del_correct得到(2-65535)+65536=3;另一种形式向后溢出。比如从2到65535数据溢出了,此时调用del_correct得到(65535-2)-65536=-3.而一般情况下电机的位置差值不会超过32768,故-32768-32768是正常区间不用进行处理+0即可。

// An highlighted block
ENCx->encAlter  = del_correct(ENCx->encNow - ENCx->encLast);
static int del_correct(int del)//编码器计数溢出处理
{
    del += del < -32768 ? 65536 : 0;
    del += del > 32768 ? -65536 : 0;
    return del;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值