cancel
Showing results for 
Search instead for 
Did you mean: 

[SOLVED] HRTIM on stm32f334, need to force an output

azdepfr
Associate

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

1 ACCEPTED SOLUTION

Accepted Solutions
azdepfr
Associate

It's OK, the mistake : timer A was started !

Best Regards

View solution in original post

1 REPLY 1
azdepfr
Associate

It's OK, the mistake : timer A was started !

Best Regards