关于ARM的QEI增量编码器

2019-07-16 07:03发布

本帖最后由 wgtobby 于 2011-5-18 15:22 编辑

大家好,我是一个新手。在使用ARM进行segway控制过程中发现一个问题,就是ARM的QEI增量编码器只能往一个方向进行累加,如果方向相反了则会出现不计数或者计数错误,请问我该怎么做才能让它在两个方向都计数呢?我的意思是在一个方向进行增计数,另一个方向减计数。
void QEIINI(void)
{
    SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI0);
    SysCtlPeripheralEnable(SYSCTL_PERIPH_QEI1);
    QEIConfigure(QEI0_BASE, (QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_NO_RESET |QEI_CONFIG_QUADRATURE | QEI_CONFIG_NO_SWAP), 0xffffffff);
    QEIConfigure(QEI1_BASE, (QEI_CONFIG_CAPTURE_A_B | QEI_CONFIG_NO_RESET |QEI_CONFIG_QUADRATURE | QEI_CONFIG_NO_SWAP), 0xffffffff);
    QEIVelocityConfigure(QEI0_BASE, QEI_VELDIV_1, SysCtlClockGet() / 100); //dt = 10ms
    QEIVelocityConfigure(QEI1_BASE, QEI_VELDIV_1, SysCtlClockGet() / 100); //dt = 10ms
}
我看设置了,没有正反计数的选项啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。