I'm attempting to enable the quadrature decoder in a K10 series part. I have an encoder connected to inputs PHA/B or PTA10 & 11, corresponding to FTM2. Reading the manual, in order to enable this, I need to set FTMEN and QUADEN. Here's what I did:
FTM2_MODE = 0x00000005; // WRTDIS bit is already set, default after reset.
FTM2_SC = 0x00000028;
FTM2_QDCTRL = 0x00000001;
FTM2_CNT = 100; // manual says write to this before writing to FTM2_CNTIN
FTM2_CNTIN = 0;
FTM2_MOD = 0x00007fff;
The WRTEN bit is set, and the WRTDIS bit is clear.
The filters are off, and should be disabled, and the clock is enabled to the FTM.
If I turn the encoder, I can see the PHA/B inputs changing on the pins, checked with a scope.
The FTM2_MOD register never reflects the write of 0x00007ffff to it & I never get anything other than 0 in the FTM2_CNT register.
I've read and reread the section of the manual on quadrature decoder mode, and I can't see anything in the block diagram or anywhere else that I'm not putting into the required state. I have also tried the same configuration with FTM1, and got the same results. What am I missing?