2024-12-12 01:59 AM - edited 2024-12-12 07:24 AM
Hello,
I use HRIM on STM32F334 for a buckboost. Before entry in control loop I need to force TA1 output high during 20mS to pre-load capacitor.
To force TA1 output, I use :
output_config.SetSource = HRTIM_SET1R_SST;
output_config.ResetSource = HRTIM_OUTPUTRESET_NONE;
HAL_HRTIM_WaveformOutputConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, HRTIM_OUTPUT_TA1, &output_config);
It's ok to set TA1 ON, but when I want reset the output I use :
output_config.SetSource = HRTIM_OUTPUTSET_NONE;
output_config.ResetSource = HRTIM_OUTPUTRESET_NONE;
HAL_HRTIM_WaveformOutputConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, HRTIM_OUTPUT_TA1, &output_config);
HAL_HRTIM_WaveformOutputConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, HRTIM_OUTPUT_TA2, &output_config);
No effect, TA1 stay up.
if I use
output_config.SetSource = HRTIM_OUTPUTSET_NONE;
output_config.ResetSource = HRTIM_RST1R_SRT;
HAL_HRTIM_WaveformOutputConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, HRTIM_OUTPUT_TA1, &output_config);
TA1 goes to low level but TA2 goes to high level.
so I use
output_config.SetSource = HRTIM_OUTPUTSET_NONE;
output_config.ResetSource = HRTIM_RST2R_SRT;
HAL_HRTIM_WaveformOutputConfig(&hhrtim, HRTIM_TIMERINDEX_TIMER_A, HRTIM_OUTPUT_TA2, &output_config);
but no effect !
I don't understand why I can't reset TA1directly, and I don't understand why I can't reset TA2.
I make a mistake, where ?
If anyone has any ideas...........
Best regards
Solved! Go to Solution.
2024-12-12 07:23 AM
2024-12-12 07:23 AM
It's OK, the mistake : timer A was started !
Best Regards