Hallo!

Die Zahl wird gar nicht hoch gezählt, der µC gibt am Terminal nur den Anfangswert aus, also 0!

Hier ist mein Programm code:

#include <mega162.h>
#include <stdio.h>

int zahl=0;

interrupt [EXT_INT0] void ext_int0_isr(void)
{


}

interrupt [PCINT0] void pin_change_isr0(void)
{

zahl++;
}

//Initialisierung der USART Schnittstelle fürs Terminal


void warte(unsigned int msec) //Damit die zahl ca. im sekunden takt ausgegeben wird

{ unsigned int i;
for (msec; msec!=0; msec--) for (i=0; i<8; i++);
}

void main(void)
{
//Initialisierung der PORTS und Timer, ...; dabei brauch ich aber nur den PORTA.1, weil der für den Interrupt 0 zuständig ist

//Interrupt initialisierung
GICR|=0x48;
PCMSK0=0x03;
GIFR=0x48;

#asm("sei"); // Global enable interrupts

while (1)
{
// Place your code here
printf("\n\r%d",zahl);
warte(1000);


};
}