Inhaltsverzeichnis:
Video: Serielles Debugging mit CloudX - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
In diesem Projekt möchte ich das Konzept des Debuggens über das serielle Terminal erklären. Aber lassen Sie uns zunächst den Begriff durch seine Bedeutungen erklären.
1. serielle Kommunikation
Die serielle Kommunikation dient der Kommunikation zwischen dem CloudX-Board und einem Computer oder anderen Geräten. Alle CloudX-Boards haben mindestens einen sichtbaren seriellen Port (auch als UART oder USART bekannt): Serial. Es kommuniziert auf digitalem RX- und TX-Pin mit anderer Hardware oder seriellen Kommunikationsmodulen (wie GSM und GPS) sowie mit dem Computer über USB mit der SoftCard. Wenn Sie diese Funktionen verwenden, können Sie also nicht auch TX und RX für die digitale Ein- oder Ausgabe verwenden. Sie können den integrierten seriellen Monitor der CloudX-Umgebung verwenden, um mit einem CloudX-Board zu kommunizieren. Klicken Sie auf die Schaltfläche für den seriellen Monitor in der Symbolleiste und wählen Sie dieselbe Baudrate aus, die im Parameter von serialBegin() verwendet wird.
2. Debuggen
Debuggen bedeutet einfach, Fehler zu identifizieren und zu beseitigen (Computerhardware oder -software). Debuggen beinhaltet das Auffinden und Korrigieren von Codefehlern in einem Computerprogramm. Debugging ist Teil des Softwaretestprozesses und ein integraler Bestandteil des gesamten Softwareentwicklungslebenszyklus. Nehmen wir zum Beispiel an, Ihr Code wurde erfolgreich kompiliert und Sie testen Ihre Hardware und sie funktioniert nicht wie erwartet, obwohl es viele Möglichkeiten gibt, Ihren Code zu debuggen; eine einfache und effektive Methode zum Debuggen ist die Verwendung von seriellem Debugging. Die CloudX-IDE generiert bei erfolgreicher Kompilierung 2 Dateitypen, HEX- und COFF-Datei. Die HEX-Datei ist reiner Maschinencode, der zur Ausführung in der realen Welt in das Board geladen wird, aber auch auf Ihren PC-Simulationssoftwares wie Proteus Isis ausgeführt werden kann, während die COFF-Datei ein lesbares Format ist, das auf Ihren PC-Simulationssoftwares (Proteus Isis) ausführbar ist.. Für diesen Umfang werden wir zwei grundlegende Arten des Debuggens für das serielle Protokoll betrachten:
1. Sanftes serielles Debuggen:
Bei dieser Methode wird jeder Test und jedes Debugging auf dem PC durch eine nützliche Software wie Proteus ISIS durchgeführt. Da CloudX im Grunde eine COFF-Datei generiert, empfehle ich, diese für die PC-Simulation zu verwenden, da Sie damit grundsätzlich zwischen Codezeilen wechseln und feststellen können, woher ein Problem kommt Instrument-Modus -Tool können Sie jederzeit wissen, auf welcher Leitung sich der Controller gerade befindet. Schauen wir uns dieses Codebeispiel an,
Schritt 1:
/*
* Datei: newmain.c
* Autor: OGBOYE GODWIN * * Erstellt am 28. Juni 2018, 10:15 Uhr */
#enthalten
#enthalten
/* wir werden machen
rot pin1 grün pin2 gelb pin3 * taste pin4 */ char *tell= "hmmm, ich habe mich berührt"; setup () { pinMode (1, AUSGANG); pinMode (2, AUSGANG); pinMode(3, AUSGANG); pinMode (4, EINGANG); Serial_begin (9600); Schleife () { während (! readPin (4)); Serial_writeText (erzählen); Serial_writeText("….bewegt sich zu rot"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, HIGH); Verzögerungen (200); // Versuchen Sie, alle Verzögerungen zu entfernen oder zu kommentieren und sehen Sie, was passiert, // dann ersetzen Sie sie (Sie werden es sicherlich lieben!). while(!readPin(4)); Serial_writeText (erzählen); Serial_writeText("….bewegt sich zu grün"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect(2, HIGH); Verzögerungen (200); // Versuchen Sie, alle Verzögerungen zu entfernen oder zu kommentieren und sehen Sie, was passiert, // dann ersetzen Sie sie (Sie werden es sicherlich lieben!).
while(!readPin(4));
Serial_writeText (erzählen); Serial_writeText("….bewegt sich zu gelb"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect(3, HOCH); Verzögerungen (200); // Versuchen Sie, alle Verzögerungen zu entfernen oder zu kommentieren und sehen Sie, was passiert, // dann ersetzen Sie sie (Sie werden es sicherlich lieben!). } }
damit können Sie sehen, wie wichtig das serielle Debuggen ist, wenn Sie die Verzögerungen entfernen. Wenn Sie das getan hätten, hätten Sie gesehen, wie lästig dieser einfache Code sein kann, wenn er in der realen Welt ohne diese Verzögerungen ausgeführt wird.
Schritt 2:
2. Hardware-Debugging:
Bei dieser Methode wird jeder Test und jedes Debugging durchgeführt, indem das CloudX-Prototyp-Board mit der SoftCard an den PC angeschlossen und entweder das serielle Terminal von CloudX IDE (empfohlen) oder eine andere nützliche Software wie Proteus ISIS compim, realTerm usw. verwendet wird. COFF generieren Datei kann hier nicht verwendet werden, da diese Methode erfordert, dass HEX in die Hardware gebootet wird. Ich empfehle, diese für CloudX-Softcard zu verwenden. Beachten Sie, dass Ihr Code ohne Schritte ausgeführt wird, sodass Sie jederzeit anhand der seriellen Ausgabe wissen können, wo welche Zeile der Controller gerade ausgeführt wird. Werfen wir einen Blick auf diesen Code das gleiche Beispiel oben aufgeführt, richten Sie Ihre Hardware so ein, dass sie ähnlich ist wie die rote LED --------- Pin1 grüne LED --------- Pin2 gelbe LED -- -------- Pin3-Taste --------- Pin4
Schritt 3:
Schritte
1. Verwenden Sie denselben Code wie oben
2. bootload in dein Board
3. Starten Sie das serielle CloudX-Terminal, indem Sie in der Symbolleiste auf die Schaltfläche "Seriell" klicken
4. Wählen Sie den gewünschten Port und die Baudrate aus (9600 in diesem Tutorial)
5. Starten Sie das Terminal, indem Sie auf Verbinden klicken (trennen Sie, wenn Sie beenden möchten)
6. Drücken Sie bei geöffnetem/verbundenem Port kurz die Taste nach Belieben und Sie sehen die serielle Ausgabe in den Terminalfenstern. Beachten Sie, dass Sie, wenn Sie die Verzögerungen des Codes haben, mehrere Zeilen der seriellen Ausgabe so schnell ohne Kontrolle ausführen, bevor Sie die Hände von der Taste nehmen. Wenn Sie aus irgendeinem Grund in Ihrem Code ein solches oder ähnliches Problem haben, können Sie diese Methode jederzeit zum Debuggen verwenden.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Grundlegendes Java-Debugging: 9 Schritte
Basic Java Debugging: Diese Anleitung behandelt eine grundlegende Schritt-für-Schritt-Überprüfung der Java-Fehlerbehandlung. Dieses Handbuch bietet keine Hilfestellung beim Einrichten von Java-Programmiersoftware und geht davon aus, dass Sie diese Aufgabe bereits im Voraus erledigt haben. Für die beste