I'm using the eFlexPWM module (instance IP_EFLEXPWM_0) on an S32K364 microcontroller to measure the frequency and period of an external signal via input capture. I am using submodule 2 (SM[2]). My configuration is as follows:
SM2_CAPTCTRLB->EDGB0 = 0x02; (capture on rising edge for capture circuit 0)
SM2_CAPTCTRLB->EDGB1 = 0x02; (capture on rising edge for capture circuit 1)
SM2_ARMB = 1; (arm the capture circuits)
After running the code, I observe the following:
In SM2_CAPTCTRLB, the counter status bits show:
CB0CNT = 0x4
CB1CNT = 0x4
In SM2_STS, both flag bits are set:
CFB0 = 1
CFB1 = 1
However, the captured values (SM2_CAPTCOMPB) remain 0 for both capture circuits – no data is latched.
What could be causing this? Is there any additional configuration needed (e.g., clock enable, input muxing, or counter setup) that I might have missed? The flags indicate that capture events are detected, but the captured values are not updated. Any insight would be greatly appreciated.
Feel free to add any additional details (like your pin muxing settings or counter mode) if needed. Good luck!