关于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
}
我看设置了,没有正反计数的选项啊
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
z00
1楼-- · 2019-07-16 10:09
 精彩回答 2  元偷偷看……
youzizhile
2楼-- · 2019-07-16 11:58
可以在检查下硬件的驱动,这个应该是有的,可以通过中断检测到电机绝对位置,也就可以判断了方向。

一周热门 更多>