打印

EQEP计算机械角度

[复制链接]
3355|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
z_jzhao|  楼主 | 2012-3-2 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
// 计算机械角度: p->theta_mech ~= QPOSCNT/mech_scaler [current cnt/(total cnt in 1 rev.)]
// where mech_scaler = 4000 cnts/revolution
//p->theta_mech ~= QPOSCNT/4000

   pos16bval=(unsigned int)EQep1Regs.QPOSCNT;   
    p->theta_raw = pos16bval+ p->cal_angle;   
     tmp = (long)((long)p->theta_raw*(long)p->mech_scaler);   // Q0*Q26 = Q26  
     tmp &= 0x03FFF000;                                         
     p->theta_mech = (int)(tmp>>11);          // Q26 -> Q15  
     p->theta_mech &= 0x7FFF;      


按公式不是除法计算吗,为什么先乘法运算,后又相与,再移位,请高手解释一下,多谢!

相关帖子

沙发
z_jzhao|  楼主 | 2012-3-19 17:32 | 只看该作者
自已顶一下。

使用特权

评论回复
板凳
zhangmangui| | 2014-7-29 22:57 | 只看该作者
楼主  此问题明白了吗   求解释

使用特权

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

本版积分规则

21

主题

72

帖子

0

粉丝