EQEP计算机械角度

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部