AnsweredAssumed Answered

STM32F0 TIM17 prescale settings has no effect on update interrupt

Question asked by Kurt Alber on Feb 21, 2018
Latest reply on Feb 22, 2018 by Kurt Alber

I generated my code from STM32CubeMx and wanted to generate a update event every 1µs. I work with the internal clock at 48MHz, which should be with Prescaler:0 and Autoreload:47 result to 1µs.
I use a STM32F030 with TrueStudio V.9.0.0


**generated code**


/* TIM17 init function */
    static void MX_TIM17_Init(void)


      LL_TIM_InitTypeDef TIM_InitStruct;


      /* Peripheral clock enable */


      /* TIM17 interrupt Init */
      NVIC_SetPriority(TIM17_IRQn, 3);


      TIM_InitStruct.Prescaler = 0;
      TIM_InitStruct.CounterMode = LL_TIM_COUNTERMODE_UP;
      TIM_InitStruct.Autoreload = 47;
      TIM_InitStruct.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1;
      TIM_InitStruct.RepetitionCounter = 0;
      LL_TIM_Init(TIM17, &TIM_InitStruct);





I added in my init:



In the IRQ_Handler i toggle a PIN:

void TIM17_IRQHandler(void)
      /* USER CODE BEGIN TIM17_IRQn 0 */


      /* USER CODE END TIM17_IRQn 0 */
      /* USER CODE BEGIN TIM17_IRQn 1 */


      /* USER CODE END TIM17_IRQn 1 */

After flashing my device with the code it generates a Signal with Frequency 889kHz with Pulsewidth of 564ns measured with Oscilloscope. Changes on Prescaler or Autoreload does not affect this output, it stays right away at T_Pulse=564ns or F=889kHz.
Any idea what I am missing here?


Register output from debugging:


    CR1:0x81              CR2:0
    DIER:0x01             SR:0x03
    CCMR1_O/I:0        CCER:0
    PSC:0                    ARR:0x2f
    RCR:0                   CCR1:0
    BDTR:0                 DCR:0