Forum: Mikrocontroller und Digitale Elektronik gcc Optimierung nicht ganz nachvollziehbar


von Sebastian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

mit oben angehängten Code wollte ich mir mit Hilfe von Timer0 eine 
Zeitbasis schaffen um daraus Zeitslots zu generieren in denen ich 
verschiedene Funktionen aufrufen kann.
Soweit so gut. Stelle ich die Optimierung des gcc ab (-o0), dann 
funktioniert der Code auch wie gewünscht.
Aktiviere ich die Optimierung läuft der Code bei o2, o3 und os nicht 
mehr wie gewünscht, was für mich nicht ganz verständlich ist.
Mir ist schon klar, dass bei solchen Fällen der Fehler meist am 
Programmierer und nicht am Compiler liegt. Allerdings finde ich keinen 
Fehler.
Ach ja: a,b und c habe ich eingeführt, um Anweisungen in den Funktionen 
slot_10ms, slot_100ms und slot_1000ms stehen zu haben.

Ich hoffe mir kann jemand helfen.
Vielen Dank im Voraus.

Gruß,
Seb.

von (prx) A. K. (prx)


Lesenswert?

Wie üblich: volatile vergessen.

PS: Andreas sollte mal ins Forensystem was einbauen, so dass man schon 
beim Tippen der Begriffe "Compiler" und "Optimierung" automatisch bei 
einer passenden Erklärung von "volatile" landet. ;-)

von Sebastian (Gast)


Lesenswert?

Oh man, sehr dummer Fehler.
Aber trotzdem Danke für die schnelle Hilfe.

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
Noch kein Account? Hier anmelden.