Hallo Forum, ich versuche in µVision eine Funktion mittels eines Zeigers darauf aufzurufen. Hintergrund ist eine dirty art, um aus einer ISR die Methode eines Objektes zu triggern. In der Main (in C) gibt es eine Funktion, welche lediglich die xxxObjekt.Methode_XY(); ausführt. Jetzt wollte ich einen Zeiger auf die C Funktion in die ISR schmuggeln. Aber das scheint nicht zu gehen weil der Zeiger ja volatile sein muss und der Compiler sagt "cannot be assigned to an entity of type "volatile void (*)()" Gibt es irgendeine Lösung für mein Problem, die nicht Betriebssystem heißt und es ermöglicht aus der ISR die Methode eines Objektes zu triggern? viele Grüße, Jasson
Jasson JFK schrieb: > Aber das scheint > nicht zu gehen weil der Zeiger ja volatile sein muss was sagt das? die ISR braucht kein volatile. Der zugriff aus der Main ist bei variablen das Problem nicht die ISR. Zeigt doch mal etwas code.
Hallo, Danke für die Antwort Peter! Ich hatte es jetzt so gelöst, dass ich die "Hilfsfunktion"-Funktion in der Main auch volatile gemacht habe und jetzt läuft es erstmal. Aber ich werde deinen Vorschlag auch noch ausprobieren. Firma dankt :-)
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.