dear NXP experts:
I want to take use of ICU and eMIOS module to capture PWM signal:
the chip is S32K312 and the four input pins are PTD13、PTD14、PTD17 and PTE5 and I assign PTD13 to eMIOS channel 20;assign PTD 14 to eMIOS channel 21;assign PTD 17 to eMIOS channel 18;assign PTE5 to eMIOS channel 19。
I choose SAIC for measurement.
I want to consult a question about the interrupt which I mean whether interrupt is must be taken use to capture the PWM signal and will PWM signal be captured if I take use of polling function for example Icu_GetPulseWidth()。
thanks a lot
Hi @yin_qiu
When the eMIOS channel is configured for time measurements on input signals, the UC will captures and stores the value of the counter when the change of state occurs at the input. For SAIC mode it captures the value of the counter bus on an edge match (Rising, Falling or Toggle) of an input signal.
For example if the IcuMesurementMode is defined as ICU_MODE_SIGNAL_MEASUREMENT and the IcuSignalMesurementProperty is ICU_DUTY_CYCLE, when the interrupt happends the Emios_Icu_Ip_IrqHandler() is executed, witch calls Emios_Icu_Ip_SignalMeasurementHandler(), that handles the signal measurement type interrupt. Then to acces the mesure values you can call Emios_Icu_Ip_GetDutyCycleValues() function.
NOTE: The function that will handle the interrupt will depend on IcuMesurementMode.
BR, VaneB