Shaft encoder with input capture
Generate an interrupt on every pulse
Set up to interrupt on rising edge pulses on input capture 2
- poke (InterruptReg, inputCapture2)
- poke (TimerControl2Reg, (risingEdge << inCapture2BitPosition))
Register interrupt handler
- poke (InterruptVector, pulseCounterHandler)
Interrupt handler
- pulses = pulses + 1
- poke (InterruptReg, ClearPulseInterrupt)
Get velocity and clear count
- velocity = pulses
- pulses = 0
-
-