STM32F401 ADC Regular Conversion triggered by TIM1_CC1 does not start although CC1 event occurs
Hello everyone,
I am trying to understand how the ADC regular trigger source "TIM1 Capture Compare 1 Event" works on STM32F401.
My configuration is:
ADC Regular Conversion:
- External Trigger Conversion Source = TIM1 Capture Compare 1 Event
- External Trigger Conversion Edge = Rising Edge
- Continuous Conversion Mode = Disabled
TIM1:
- Counter Mode = Center Aligned Mode 2
- ARR = 2099
- CCR1 = 2000
- Channel 1 configured in Output Compare mode (TIM_OCMODE_TIMING)
I verified that the compare match occurs correctly. The TIM1 CC1 callback/interrupt is triggered, which confirms that CNT reaches CCR1 and the CC1 event is generated.
However, the ADC regular conversion never starts and HAL_ADC_ConvCpltCallback() is never called.
Interestingly, if I configure the ADC Injected Group and trigger it using TIM1 TRGO (Compare Pulse), the conversion works correctly.
This makes me wonder what exactly "TIM1_CC1" means from the ADC trigger perspective.
My questions are:
1. Does ADC regular trigger source TIM1_CC1 correspond directly to the compare match event (CC1IF)?
2. Or does it depend on the internal OC1REF signal of channel 1?
3. If channel 1 is configured in TIM_OCMODE_TIMING (or Frozen mode), should TIM1_CC1 still be able to trigger a regular ADC conversion?
4. Is there any documentation describing the internal trigger path between TIM1_CC1 and the ADC?
I am not reporting a bug, I am simply trying to better understand the hardware behavior because my experimental results do not fully match my interpretation of the reference manual.
Thank you for any clarification.
