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.
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. ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.