Estou fazendo interrupção no LPC2138 de timer0 no Keil, porém ela só entra na rotina de interrupção vez, mesmo sabendo que a flag de interrupção do timer é setado quando chega-se ao valor de comparação na segunda vez, porém ela nao é resetada por nao entrar na rotina.
Segue o código abaixo.
- Código: Selecionar todos
#include <LPC21xx.h>
int flag = 0;
__irq void Int1seg(void)
{
flag++;
T0IR |= 0x1;
T0TC = 0;
}
int main()
{
inicializauart();
VPBDIV = 0x00000001;
PINSEL0 = 0x00000080;
VICVectCntl0 = 0x20|4;
VICVectAddr0 = (unsigned) Int1seg;
VICIntEnable = 0x1<<4;
T0PR = 0x013D7840; // valor = 25000000
T0MCR = 0x00000003;
T0MR0 = 0x00000003;
T0TCR = 0x00000001;
while(1){
if(flag==1)
escreveuart("lpc");
}
}
O QUE TO FAZENDO DE ERRADO??????