Timer mr0 e mr1

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Timer mr0 e mr1

Mensagempor okdok » 14 Abr 2011 22:10

Olá pessoal,

To apanhando feio no timer com interrupcao, quando to usando so mr0 funciona legal mas quando coloco o mr0 e mr1 da pau.

Rotina:
void init_timer_interrupcao(void)
{
T0PR = 30000000/1000; // Valor do prescale = Pclk /valor
T0TCR = 2; //Reseta timer 0
T0MCR = 0x1b; //habilita a interrupção e reseta Mr0 e Mr1
T0MR0 = 1000; //Valor de comparação = 1000
T0MR1 = 2000;
T0TCR = 0x00000001; //habilita timer
VICVectAddr4 = (unsigned)Timer0ISR; //Interrupção
VICVectCntl4 = 32|4; //
VICIntEnable |= BIT4; //Habilita a interrupção o timer
}


void Timer0ISR(void) __irq //Função de atendimento da interrupção
{
int f;
f = T0IR;
if(f & 1) segundos++;
if(f & 2) minutos++;
T0IR |= f; //Clear match 0 interrupt
VICVectAddr = 0; // VICAddress =0 LIMPA A INTERRUPCAO
}
okdok
Nibble
 
Mensagens: 61
Registrado em: 09 Ago 2007 11:49

Voltar para ARM

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x