Serial.print() Funktion

Aus TippvomTibb
Version vom 5. März 2021, 14:52 Uhr von Chris T. Ludwig (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „oder serial.println() Nach dem ich schon in mehreren Programmen Probleme mit "zerschossenen" Variablen hatte trage ich hier mal alle meine Infos zusammen.…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

oder serial.println()

Nach dem ich schon in mehreren Programmen Probleme mit "zerschossenen" Variablen hatte trage ich hier mal alle meine Infos zusammen.

Ähnlich gelagerte Probleme haben andere Nutzer bereits in Foren formuliert.

https://www.arduinoforum.de/arduino-Thread-Problem-mit-char-array

https://forum.arduino.cc/index.php?topic=368430.0

Mit den Antworten war ich allerdings weniger zufrieden. Ich finde in Foren einfach zu oft die Reaktion:

  1. Warum machst Du das so?
  2. Das geht so viel besser!
  3. Dein Ansatz ist falsch.

Das heißt eigentlich wird gar zu selten auf das eigentliche Problem eingegangen, sondern es wird einfach ein Workaround geschildert oder gar eine komplett andere Evtl-Lösung empfohlen. Ein Kommentator spricht mir aus der Seele:

Ich verstehe deinen Lösungsvorschlag schon, aber mich würde mehr interessieren, warum meine Lösung nicht funktioniert.  

1. Fall

Variablen haben nach einem Funktionsaufruf einen anderen (undefinierten) Wert, obwohl sie in der Funktion gar nicht benutzt wurden. Unabhängig von der Scope-Problematik, sehe ich als Ursache fehlerhaft programmierte Libraries als Ursache. Dies tritt gerade dann zu Tage wenn mehrere Libraries in einem Programm benutzt werden, die sich dann sehr oft gegenseitig beeinflussen. Die Problem wird dann auch noch durch den Umstand verstärkt wenn die (RAM-)Ressourcen ausgereizt werden, oder der Zugriff auf Kommunikationsschnittstellen aufgeteilt wird.