STM8 - No se puede usar timer2 con interrupción

0

Estoy intentando ejecutar la interrupción del temporizador en el microcontrolador STM8. Pero no soy capaz de hacerlo.

Intenté leer el registro de contador y ARRP, pero después de cargar el valor, ambos registros tenían el valor inicial, no el cargado.

Aquí está el fragmento de código.

 void TIM2_Configuration(void) { 
     TIM2_DeInit();
     CLK_PeripheralClockConfig(CLK_PCKENR1_TIM2, ENABLE);
     TIM2_ARRPreloadConfig(ENABLE);
     TIM2_TimeBaseInit(TIM2_Prescaler_128, TIM2_CounterMode_Down, 500);      
     TIM2_ITConfig(TIM2_FLAG_Update, ENABLE);
     TIM2_Cmd(ENABLE);
     enableInterrupts();
 }

y habilitando el reloj periférico en la función principal:

CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);

y agregue una palabra clave @svlreg (ya que carece de @svlreg para la interrupción) en el controlador de interrupciones, donde he agregado el código de interrupción:

 @svlreg INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_USART2_TX_IRQHandler, 19)

¿Puede por favor avisarme si me falta algo en una interrupción del temporizador inicializada?

    
pregunta erdarshp

0 respuestas

Lea otras preguntas en las etiquetas