ich programmiere zwar auf den uController, aber ich denke ihr könnt mir hier helfen.
Die Funktion void timers_start( void ) __irq wird jede ms aufgerufen.
Dabei werde alle timer im array dekrementiert.
Bei erreichen von 0 bei einem bestimmten Timer wird eine bestimmte Funktion aufgerufen.
Für jeden Timer eine spezielle.
Wenn Timer0 = 0 ist dann wird function0 aufgerufen.
Das Problem ist, dass diese Funktion ständig aufgerufen wird, da void timers_start jede ms aufgerufen wird.
Wie kann ich es realisieren, dass die function0 nur 1 mal aufgerufen wird.
Vielen dank im Voraus.
Code: Alles auswählen
void timers_start( void ) __irq
{
	unsigned char i;
	lauf++;
		
	for (i=0; i<10; i++)
	{
	 	if (timer[i].t_time == 0)
		{
 		     if (timer[0) == 0 )
	              {
                          call function0;
                      }
		}
		else
		{
		 	timer[i].t_time--;
		}
	}
	T0IR = 1;                               	// Clear interrupt flag
	VICVectAddr = 0; 
}




