STM32H573 timer synchronization issue
Not sure why my previous post was marked as spam:
Hello,
I'm trying to do something relatively simple but can't figure out the issue. It might also be possible that there is no issue and my expectations are wrong about timer synchronization.
I am using TIM1 as a master with trigger out event configured when the timer is enabled. Enabling timer1 should start TIM2 and TIM15 (both configured as slave with appropriate ITR0 triggers).
Just for debugging and simplicity all the timers are using the same prescaler and the same period (ARR register value is the same).
The timer do start when I enable timer1 as expected. But they are not synchronized.
Below are registers dump for tim1, tim2 and tim15 just before setting TIM1.CR1 enable bit. Once I set the enable bit I get the logic analyzer capture shown.
I mean it works in the sense that enabling TIM1 triggers TIM2 and TIM15 but why aren't they synchronized?
Here is the code. I am using HAL for simplicity but I did try direct register manipulation but outcome was exactly the same.
HAL_TIM_OC_Start_IT(&htim2,TIM_CHANNEL_3);
HAL_TIM_OC_Start_IT(&htim15,TIM_CHANNEL_2);
HAL_TIM_OC_Start_IT(&htim1,TIM_CHANNEL_1);

On the surface it appears to work but when I zoom in on the first rising edge :


