Funktionaufruf
Verfasst: Mo Jul 20, 2009 6:20 pm
Guten Abend,
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.
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;
}