Zitat Zitat von sternst
Zitat Zitat von thewulf00
Er hats komisch beschrieben, aber der Grundgedanke ist korrekt.
Der Grundgedanke, warum hier volatile zu verwenden ist, ist weder "komisch" beschrieben, noch korrekt, sondern einfach nur falsch.
Es ist komisch beschrieben. Aus digitaler Sicht (es gibt nur richtig und falsch) ist Deine Antwort korrekt. Aber es gibt auch Grauzonen. Man muss einfach hinter die Worte blicken, und da ist der Gedankengang schon in Ordnung gewesen.
(z.B. Frauen sprechen gern anders, als sie es meinen )


Zitat Zitat von sternst
Wird eine Variable von zwei verschiedenen Stellen (ISR und Hauptprogramm) benutzt, so muss sie volatile sein,
Auch das ist eigentlich eine falsche Verallgemeinerung. Es ist zwar sehr oft so, aber nicht immer. Im konkreten Fall ist das volatile bei zyklus z.B. überflüssig.
Du hast völlig recht. Aber in den meisten Fällen verursacht - vor allem bei Anfängern - ein fehlendes volatile das Problem. Besserwessi wollte sicher nur helfen. Und nur auf den Sonderfällen rumzureiten, damit eine Aussage nicht als allgemeingültig stehen gelassen werden kann, ist gemein.


Zitat Zitat von sternst
sonst wird sie beim Benutzen der Optimierung wegen nicht erneut aus dem RAM ausgelesen
Nur dass das Lesen im konkreten Fall gar nicht der Knackpunkt ist, sondern das Schreiben der Variable helligkeit ins RAM in der main-Schleife.
Da hast Du natürlich recht, mein Fehler.

Nichtsdestotrotz kann ich mich mit der Aussage, dass es "einfach nur falsch" sei, nicht anfreunden. Die Ausdrucksweise ist sicher nicht wissenschaftlich korrekt, aber sie passt hier sehr wohl.