hallo!

ich hätte eine frage zu folgendem programm! und zwar kann ich mir nicht erklären wieso bei SIGNAL der aufruf alle 4096ms erfolgt! bräuschte man da nicht das tccr0 um den takt zu teilen?? und was macht das sei() genau? was ich auch nicht verstehe ist was man mit dem us % 10000 anfangen soll!!

bitte dringentst um hilfe!!


SIGNAL(SIG_OVERFLOW0) //Aufruf alle 4.096ms
{
// user code here
us += 4096;
if(us >= 10000) //0.01s sind abgelaufen
{
++hs;
us = us % 10000;
}
}

int main( void )
{
unsigned char Tasten;
int cou=0;

Disp_enable();
Disp_clear();



TIMSK |= 0x01; //Timer Interrupt freigeben

sei(); //Alle Interrupts einschalten

while(1) //endlosschleife
{
Tasten = Get_Tasten();


sprintf(zeile,"Zeit=%02i:%02i:%02i,%02i",std,min,s ec,hs);
Disp_write_xy(0,0,zeile);


}
}


danke im voraus!