I came up with this code idea (have not tested it yet)
Code:STATE: 'WAIT FOR ENCODER TO BE MOVED (STATE CHANGE) X=PORTB.1 Y=PORTB.2 PAUSE 10 X1=PORTB.1 Y1=PORTB.2 IF X<>X1 OR Y<>Y1 THEN GOTO NEXTSTEP GOTO STATE NEXTSTEP: SOMELOOP: 'COUNTER LOOP FOR PULSE LENGTH COUNTING IF PORTB.1=1 THEN XIN=XIN+1 'X INCREMENT IF PORTB.2=1 THEN YIN=YIN+1 'Y INCREMENT IF PORTB.1=0 OR PORTB.2=0 THEN GOTO ANALYZE 'EXIT AND COMPARE LENGTHS GOTO SOMELOOP ANALYZE: 'DETERMINE DIRECTION AND INCREMENT CORRESPONDING VARIABLE IF XIN>YIN THEN CCW=CCW+1 ELSE CW=CW+1 ENDIF XIN=0 'RESET VARIABLES YIN=0 GOTO STATE




Bookmarks