Este es mi inicio del temporizador 4:
void initTimer(){
CLK_PCKENR1 |= (1<<4); //Enable Clock for Timer 4
TIM4_EGR |= 1;
TIM4_PSCR = (0x03); //Prescaler, Divide Clock by 7
TIM4_IER = 1; //Enable Update Interrupt
TIM4_CR1 |= 1; //Enable Timer
}
Esta es mi rutina de servicio:
#pragma vector = TIM4_OVR_UIF_vector
__interrupt void TIM4_OVF(void){
if(!didInit){
initMAX7219();
didInit = true;
}
applyBuffer();
shuffleRight();
TIM4_SR &=~(1<<0); //Clear Update interrupt flag
}
Pero nada funciona, el registro del contador del temporizador se incrementa correctamente pero la función de interrupción nunca se alcanza, ¿por qué?
¡Feliz año nuevo!