FTM2 channel on 9S08PA32VLH is configured for rising edge input capture. No issues with interrupts or related routines. Same port pins have inputs enabled (in PORT_PTCIE).
If I disable input capture (by writing 0 to FTM2CxSC), I can connect the input to Vcc or Ground and read the input levels just fine. But, as soon as I enable input capture (by writing 0x44 to FTM2CxSC), the Port input level gets "stuck". In other words, I can change the level at the input, but the result from reading PORT C never changes.
I have tried disabling all interrupts as well as clearing the interrupt flag before reading. I have looked at the port contents and related registers (PORT_PTCD, PORT_PTCIE, and FTM2 registers) directly using debug in Code Warrior as well as with an LED when hardware is not attached via BDM. No difference.
I also tried deleting all FTM2 init code and just using the Processor Expert capture component with Enable, Disable, and GetPinValue methods. Still no difference.
My memory could be faulty, but I do not recall this being an issue with TPM on other S08 processors. The reference manual for this device is somewhat ambiguous on whether GPIO will work with a FTM channel.
Is this just the way it is supposed to work? Or is there something else in configuration I could be missing? Currently, clock gating is already enabled for all. Or is this a bug in the chip?
I can always change my interrupt routine to handle this (for example by using both edges and temporarily disabling capture to read the level), but I would really like to know how this is supposed to work.
Thanks for any and all input.