Hallo da draußen,
ich stehe vor einem Problem.
Ich führe in meinem Programm eine Timer-ISR aus. In dieser soll eine
Zahl berechnet werden. Diese Zahl soll aber dann auch im weiteren
Verlauf für spätere Funktionen zu Verfügung stehen?
Wie muss ich das umsetzen?
Es will nichts klappen. Scheinbar kann ich die ISR nich dahingehend
anpassen, dass ich einen Zeiger übergeben könnte. Auch wenn ich die
Variable global definiere steht der Inhalt irgendwie nicht zur
Verfügung?
Was könnte ich denn noch anstellen um mein Problem C-technisch zu lösen?
Quellcode:
uint8_t zahl=0;
ISR(TCC0_OVF_vect){
if (zahl >= 9)
{
zahl = -1;
}
zahl++;
}
int main (void)
{
//INTERRUPT-Config
while(1)
{
if (zahl& 0x08 )
PORTC.OUT |= (1<<PIN1); //PC0 wird auf High gesetzt
else
PORTC.OUT &= ~(1<<PIN1); //PC0 wird auf Low gesetzt
}
}
Danke für euren Rat.
Beste Grüße.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.