MCU:s32k312
Problem Description:
When using ADC with DMA in group conversion mode, I'm observing a consistent issue where the first conversion start (Adc_StartGroupConversion) always results in a timeout condition. Specifically:
- The group notification callback is never triggered
- When polling the group status in a task, it remains stuck at "busy" indefinitely
If I execute a timeout handler (triggered by the initial failure), which calls Adc_StopGroupConversion followed by a second Adc_StartGroupConversion, subsequent conversions work flawlessly without any further issues.
Adc_StartGroupConversion(gularrMcuWrapAdcGroups[ulAdcIter]); Adc_StopGroupConversion(gularrMcuWrapAdcGroups[ulAdcIter]);
Question:
- Has anyone encountered similar behavior where the first ADC group conversion fails (timeout/busy status) but works fine afterward?
- Is this a known initialization sequence requirement for ADC+DMA groups (e.g., needing a dummy conversion to "prime" the hardware)?
- Could this be related to clock gating, power-on state, or DMA initialization timing?
Looking for insights on root cause or recommended initialization practices to avoid this workaround.