Gast
#602339
Hallo, ich habe ein Problem mit einer Interrupt Routine. Sie wird nur
aufgerufen, wenn am Anfang eine leere for Schleife steht. Ich verwende
dieses kleine Testprogramm auf einem Atmel 89C51CC03UA-IM. Hier der
Code:
void main (void)
{
TMOD = 0x01; /* Timer 0 mode 1 */
/* Gate0=0; C/T0#=0; M10=0; M00=1; */
TL0 = 0x00;
TH0 = 0xa0;
ET0 = 1; /* enable timer0 interrupt */
EA = 1 ; /* enable interrupts */
TR0 = 1; /* timer0 run */ while (1);
}
void Timer0_INT(void) interrupt 1 /* interrupt address is 0x000b */
{
int i; for (i=1;i;i++); P1_5 = ~P1_5; TL0 = 0x00;
TH0 = 0x00;
TR0 = 1;
}
Lässt man die die for Schleife weg, passiert garnichts, d.h. die
Interrupt Routine wird nicht aufgerufen. Wie kommt das? Könnt ihr mir
vielleicht weiterhelfen? Phase IV
Phase IV