EDU Demo Code: Encoder Interfacing Using Interrupts

I’m writing a motor controller that I intend to release in the future, but because of the interest in interfacing encoders lately, I’ve put together a small example that shows the best way I know to interface a quadrature encoder to the EDU robot controller. With this code, I’ve been able to track an encoder generating a few thousand counts per second. The code can be found here:


Very Kool… This is definitely a great example of good programming.

Once again… Very Kool.

-Greg The Great


The more examples on how to use interrupts correctly and effectively, the better…


Thank you for all of the great interrupt examples for the EDU controller. They have been extremely educational. I’ve been racking my brain all year to figure out a simple way to use an encoder that had a useful resolution. This looks like an elegant solution with the new hardware.

My question is this: How does this translate to the full-size controller? I didn’t see any interrupt pins on it.

Would we have to use a timer?

Thank you. I’m glad you’re making use of the code.

Yes, we’ll have interrupts on the new FRC controller. The port b interrupts on the EDU-RC directly map to the first six digital inputs on the new controller (i.e., Interrupt 1 = digital I/O 1, interrupt 2 = digital I/O 2,… interrupt 6 = digital I/O 6).