Mmmmm.. si queres ver si se movio o no podrias ingresar una fase a una entrada q tenga un Input Change Notification (Aunque seria mejor ambas fases, por algun cambio de direccion), si es q lo tiene el dsPIC, al cambiar podrias activar para q te genere una interrupcion, para hacerlo con el QEI tendria q leer:
http://ww1.microchip.com/downloads/en/DeviceDoc/70208B.pdfDisculpa estoy con poco tiempo para verlo, pero espero q te sirva. aunque no le veo sentido usar el QEI para ver un cambio nomas :S
Viendo la
figura 15-10 del datasheet, creo q tiene q ser asi ese valor
QEI1CONbits.TQGATE = 0;
QEI1CONbits.UPDN = 1
QEI1CONbits.UPDN_SRC = 1
MAX1CNT = 1;Supuestamente al llegar POS1CNT = MAX1CNT, segun la figura 15-10 del pdf q te pase, es la salida que habilita la interrupcion del QEI, luego al producirse la interrupcion el registro POS1CNT se hace igual a 0, si llega a ocurrir el caso de un underflow el valor q toma POS1CNT es el del MAX1CNT.
Ademas vas a tener q probar, ya que al haber swapeado ( alternado los valroes de la Fase A y Fase B) o sea puesto en 1 el bit SWPAB puede que lo que estes haciendo es decrementando en ves de incrementar, pero con el valor en 1 de MAX1CNT creo q no deberia haber problemas, en teoria xD.
El POS1CNT se incrementa de la siguiente forma:
as the Phase A signal leads the Phase B signal, the quadrature counter is
incremented on each edge. This condition Phase A (QEAx) signal leads the Phase B (QEBx)
signal is defined as the forward direction of motion.Podes observar esto y el funcionamiento de lo que queres hacer en la
figura 15-8Espero q esto sulucione tu problema, yo hablo con solo lo que vi en el datasheet, y por que vi q nadie mas respondio a tu problema ^^ je
