Problema LPC2142 - interrupção do timer0

Software e Hardware para linha ARM

Moderadores: 51, guest2003, Renie, gpenga

Problema LPC2142 - interrupção do timer0

Mensagempor Abuda » 24 Set 2007 16:24

Pessoal,

Já estou a quase dois dias tentando usar a interrupção do timer 0 do LPC2142.

Estou usando o Crossstudio, peguei uma dezena de exemplos na internet e todos são bem parecidos com o que estou, usando.

O timer roda bonitinho mas a interrupção nunca é chamada. Caso eu use a biblioteca de configuração de interrupção que vem com o crossstudio a interrupção ocorre uma única vez e depois não ocorre mais.

Alguem tem uma luz???

Já tentei de tudo mas o ultimo foi:

void T0ISR (void) __attribute__ ((interrupt));

void T0ISR (void) {

count++;
if(count == ctl_get_ticks_per_second())
{

onNotOff = !onNotOff;
if(onNotOff)
{
IO1SET |= IO_PIN_16;
}
else
{
IO1CLR |=IO_PIN_16;
}
}

T0IR = 0x01;
VICVectAddr = 0xFF;
}

void init_timer0(void)
{
/* Timer 0 interrupt is an IRQ interrupt */
VICIntSelect &= ~(0x10);
/* Enable timer 0 interrupt */
VICIntEnable = (0x10);
/* Use slot 0 for timer 0 interrupt */
VICVectCntl0 = 0x24;
/* Set the address of ISR for slot 0 */
VICVectAddr0 = (unsigned long)T0ISR;
/* Reset timer 0 */
T0TC = 0; // clear the timer count
T0PR = 1; // prescale divide by 2
T0MR0 = 14400; // divide by 14400 to get 2048 ints per second
T0MCR = 0x03; // interrupt on match, reset on match
T0TCR = 0x01; // start the timer

}
Abuda
Byte
 
Mensagens: 214
Registrado em: 04 Mai 2007 09:38
Localização: SP

Mensagempor Abuda » 24 Set 2007 16:42

Nossa não acredito.

O mesmo código que postei anteriormente funciona perfeitamente no Keil.

Brincadeira isso, qual será a diferença???
Abuda
Byte
 
Mensagens: 214
Registrado em: 04 Mai 2007 09:38
Localização: SP


Voltar para ARM

Quem está online

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

cron

x