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
Gast
#2995499
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 :-)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.