Hi NXP Community,
I'm working with the MaaxBoard i.MX93 (Cortex-M33) and trying to implement input capture using the TPM peripheral (Timer). I understand that for proper input capture, the GPIO must support TPMx_Channely via IOMUX.
However, I have a signal on a GPIO pin (e.g., GPIO3_IO05) which does not support TPM capture in the IOMUX.
I am able to read its value via GPIO_PinRead() and see it toggling, but I want to measure the pulse width or frequency (i.e., high-time, low-time, or edge timestamps).
My Questions:
Is there any workaround to use non-TMR-connected GPIOs for input capture (e.g., using interrupts or polling)?
If yes, how to configure GPIO interrupt with precise timestamp logging using SysTick or any other timer?
Is there an example in the MCUXpresso SDK for i.MX93 that shows GPIO interrupt-based edge timing or pulse measurement?
Any suggestions or best practices for accurate timing measurement via software-only methods on GPIOs would be helpful.
Thanks!
i.MX93 TPMS-SW