各位高手,请教一个关于QEI的问题。我将33EP32MC204的QEI设成模计数的方式,最小值为0,最大值为1439;然后我想用Home脚上的脉冲产生一个捕捉,记录下此时的POSxCNT的值到QEIxIC中,具体代码如下:
RPINR14bits.QEA1R= 51; //QEI_A------->PC3
RPINR14bits.QEB1R= 25; //QEI_B------->RA9
RPINR15bits.HOME1R= 20; //QEI_HOME---->RA4
//HALL/QEI相关寄存器
IO_HALL_A_CTRL= 1;
IO_HALL_B_CTRL= 1;
IO_HALL_C_CTRL= 1;
IO_QEI_A_CTRL= 1;
IO_QEI_B_CTRL= 1;
IO_QEI_HOME_CTRL= 1;
QEI1LECH= 0;
QEI1LECL= 0;
QEI1GECH= 0;
QEI1GECL= 1439;
QEI1IOC= 0xC000; //允许Homex输入事件触发捕捉,允许数字滤波器
QEI1CON= 0x9800; //打开QEI的模计数方式,正交编码模式
然后我转动电机,程序里一直读取QEI1ICL,它怎么一直都是1439这个值不变呢。
读POSCNTH、POSCNTL是在0-1439之间变化;
万用表测量Home端口上有脉冲变化;
是我对它的工作方理解有错误么?用户手册太简单了,猜不懂啊 |