Schlagwort: Logikanalysator

Debuggen eines Debuggers mit sich selbst

Das vorgestellte Bild dieses Beitrags ist ein Comic aus xkcd.com.

Der obige xkcd-Comic mit dem Titel Debugger spielt auf das Problem an, dass man bei der Anwendung einer bestimmten Methode auf sich selbst möglicherweise nicht das bekommt, wonach man gefragt hat. Turings Halteproblem ist ein bekanntes Beispiel dafür: Man kann algorithmisch nicht entscheiden, ob ein Algorithmus auf einer gegebenen Eingabe terminiert. Haben wir dieses Problem auch bei Debuggern? Insbesondere habe ich mich gefragt, ob es sinnvoll ist, den Hardware-Debugger, den ich entwickle, mit sich selbst zu debuggen.

Weiter lesen

Eine einzige Verbindung

Das Titelbild dieses Beitrags ist von Vladimir163rus auf Pixabay.

Eine neue Arduino-Bibliothek hat das Licht der Welt erblickt: SingleWireSerial. Sie unterstützt einadrige asynchrone serielle Halbduplex-Kommunikation. Durch die Verwendung der Eingangserfassungsfunktion der AVR-MCUs ist sie extrem genau und unterstützt Bitraten von bis zu 250 kbps. Und konträr zum Titel kann man sie auch für Zweidraht-Verbindungen verwenden.

Weiter lesen

Sind Eingaben verfügbar?

Das Titelbild dieses Beitrags ist von rawpixel.com – de.freepik.com

Die SoftwareSerial-Klasse verfügt genauso wie die Serial-Klasse über die available()-Methode, die die Anzahl der Zeichen zurückgibt, die bereits empfangen, aber noch nicht gelesen wurden. Es gibt jedoch einen interessanten Unterschied. Ein Aufruf von SoftwareSerial.available() ist deutlich langsamer als ein Aufruf von Serial.available(). Wir werden nach dem tieferen Grund für dieses seltsame Verhalten suchen und ich werde drei Möglichkeiten aufzeigen, um das Problem zu beheben.

EDIT: In der Arduino Version 1.8.17 wurde das Problem beseitigt.

Weiter lesen

Logisch!

Wenn Dinge schiefgehen, obwohl die Programmlogik korrekt zu sein scheint, ist es an der Zeit, die Signale zu untersuchen, die in die MCU eingehen und aus der MCU herauskommen. Das beste Werkzeug dafür ist ein Logikanalysator.

Weiter lesen

Copyright © 2022 Die Arduino-Bastelecke

Thema von Anders NorenHoch ↑