You mean Master/Slave? I mainly use CubeMX, I'll so appreciate if you explain by that. thank you
Yes, you need to use one general purpose timer as Master and one advanced-control timer as Slave.
IIRC from other threads you've started, you are using an STM32F4xx so TIM1 as advanced-control and TIM2 as general purpose should be available.
The need for an advanced control slave is due to repetition counter (TIM1_RCR) support:
If the repetition counter is used, the update event (UEV) is generated
after upcounting is repeated for the number of times programmed in the
repetition counter register plus one (TIMx_RCR+1).
that, together with with the one pulse mode (OPM bit in TIM1_CR1):
Bit 3 OPM: One pulse mode
0: Counter is not stopped at update event
1: Counter stops counting at the next update event (clearing the bit CEN)
and the use of a CCR will give us exactly what you need.
Figure 37 in the link I gave is very clear.
For CubeMX, see the attached pictures: ITR1 (trigger from TIM2) has to be selected as trigger source in TIM1, One Pulse Mode set, and update event as TRGO in TIM2.
The ADC must be triggered by the CCR1 of TIM1.
Up to you to set values/pre-scalers/interrupts etc. etc...
Of course other alternative configurations can be used, e.g. with TIM8 you don't need to set a CCR register and can directly use the update event to trigger the ADC...
The STM32 timers are a bit unfriendly, but definitely flexible and powerful.
HTH