Technologieaustausch

04OLED-Einführung und Debugging-Methoden

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Debugging-Modus

Fügen Sie hier eine Bildbeschreibung ein
Der Computer kann alle Variablen, die er sehen möchte, direkt auf dem Bildschirm ausdrucken, aber Ein-Chip-Computer verfügen aufgrund von Kosten- und Schaltungsbeschränkungen oft nicht über eine starke Auswertung.
Genau wie beim Erlernen der C-Sprache gibt es keine Möglichkeit, ohne die printf-Funktion zu lernen. Sie benötigen also ein Debugging-Tool.

Serielles Debuggen

Das Debuggen einer seriellen Schnittstelle ist weit verbreitet, um einen Mikrocontroller an einen Computer anzuschließen. Dies entspricht dem Aufhängen des Computerbildschirms am Mikrocontroller, wodurch der Mikrocontroller die Debugging-Informationen anzeigen kann. Beim Entwerfen der Leiterplatte ist ein serieller Kommunikationsstift vorhanden zum Debuggen von Programmen (der Vorteil besteht darin, dass die Software auf dem Computer mit Hilfe eines leistungsstarken Computers zum Debuggen nicht nur einzelne Parameter, sondern auch Kurven, Grafiken, Bilder usw. anzeigen kann. Sie können auch Ihre eigene Software erstellen um leistungsstarke Benutzerinteraktionsfunktionen zu erreichen) (Der Nachteil besteht darin, dass Sie den Computer ziehen müssen und der übliche Assistent für die serielle Schnittstelle Daten nur in Form eines Informationsflusses darstellen kann, dh nur Zeile für Zeile drucken kann. Wenn ja viele sich ändernde Daten, die angezeigt werden müssen, können dann nur durch Wischen über den Bildschirm auf dem Computer angezeigt werden)

Debugging anzeigen

Der Vorteil des Display-Debugging besteht darin, dass die sich ändernden Daten überschrieben und aktualisiert werden können und das Display immer mit dem Mikrocontroller verbunden werden kann. Die Anzeigemethode ist sehr direkt. Wenn etwas etwas Kompliziertes ausgeführt wird, ist daher eine Mensch-Computer-Interaktionsschnittstelle erforderlich dass es einfacher ist, das Display als Teil des Produkts zu verwenden (der Nachteil ist, dass der Bildschirm zu klein ist und der Anzeigeinhalt begrenzt ist).
Der Bildschirm kann zum Debuggen verwendet werden, und die Treiberfunktion wird später besprochen.Behandeln Sie OLED zunächst als Programm-Debugging-Modul

Andere Debugging-Methoden

Es gibt auch eine Beleuchtungs-Debugging-Methode. Wenn Sie nicht wissen, wo das Programm ausgeführt wird, können Sie an dieser Stelle einen Beleuchtungscode einfügen.
Kommentar-Debugging-Methode: Wenn das Programm ursprünglich gut war, aber nach dem Hinzufügen eines bestimmten Programms abstürzte, können Sie alle neu hinzugefügten Kommentare entfernen, den normalen Betriebsstatus wiederherstellen und dann Zeile für Zeile auskommentieren, bis der Fehler auftritt, oder einen auskommentieren Teil, um einen anderen Teil zu testen, den ausgeführten Teil des Programms zu reduzieren und das problematische Programm zu lokalisieren.
Verwenden Sie die Vergleichsmethode, um ein Programm zu finden, bei dem keine Probleme auftreten, und ersetzen Sie seine Programmlogik nach und nach durch Ihre Programmlogik.

Zusammenfassen:

Grundideen von Testverfahren: Einengung des Umfangs, Steuerung von Variablen, Vergleichstests usw.

OLED

Einführung

Fügen Sie hier eine Bildbeschreibung ein
Bei OLED ist jedes Pixel eine separate Leuchtdiode, während LCD eine Hintergrundbeleuchtung benötigt und daher relativ energiesparend ist.
Die schnelle Reaktionsgeschwindigkeit ermöglicht OLED eine höhere Bildwiederholfrequenz
Durch schnelles Bus-Timing kann auch das Blockieren von Programmen vermieden werden
Großer Betrachtungswinkel: Da OLED selbstleuchtend ist, ist der Anzeigeinhalt aus jedem Winkel klar.

Der Betrieb dieser einfachen OLED erfordert nur wenige Kabel und verbraucht relativ wenig Ressourcen.

Zu den Pixelfarben gehören: Weiß, Blau, Gelb und Blau (1/4 ist Gelb, 3/4 ist Blau, es ist keine echte Zweifarbe, sondern in verschiedenen Bereichen fixiert, geeignet für die Erstellung einer Schnittstelle, die Folgendes anzeigen muss). Titelzeile)

Hardware-Schaltung

Fügen Sie hier eine Bildbeschreibung ein
Pin 4 verwendet im Allgemeinen das IIC-Protokoll und Pin 7 verwendet im Allgemeinen das SPI-Protokoll.

OLED-Treiberfunktion

Fügen Sie hier eine Bildbeschreibung ein
Wenn die STM32-Pins nicht initialisiert sind, wechseln sie standardmäßig in den Floating-Input-Modus.

Um dieses OLED-Modul zu verwenden, müssen Sie nur die Pins sowie die Peripheriegeräte und Uhren, die die Pins verwenden, ändern. Die restlichen Funktionen sind im Paket enthalten.
Fügen Sie hier eine Bildbeschreibung ein

Die Datei OLED_FONT.h speichert die Schriftartdaten von OLED. Da der OLED-Bildschirm keine Schriftart hat, müssen Sie, wenn Sie Zeichengrafiken anzeigen möchten, zuerst die Punktmatrixdaten der Zeichen definieren, damit die Punktmatrix gespeichert wird der Zeichen.
Die C-Sprache kann keine Binärzahlen schreiben und kann stattdessen nur Hexadezimalzahlen verwenden. Die C-Sprache unterstützt als Low-Level-Computerprogrammiersprache das Schreiben von Binärzahlen. Darüber hinaus muss die C-Sprache in die Assemblersprache übersetzt werden, aber Assembler unterstützt das Schreiben von Binärzahlen. eingeben. Aber das mag die Regel sein.

Keil-Debug-Modus

Eingabemethode

Fügen Sie hier eine Bildbeschreibung ein
Die Projektoption Debug kann die Debugging-Optionen konfigurieren, die für die Online-Simulation auf der Hardware erforderlich sind.
Der linke verwendet einen Emulator, sodass der Computer den Betrieb des Mikrocontrollers simuliert.
Stellen Sie vor der Simulation sicher, dass es keine Probleme bei der Projektkompilierung gibt (wenn es Probleme gibt, lösen Sie diese zuerst).

Klicken Sie auf „rotes d“, um in den Debugging-Modus zu gelangen. Wenn STLINK nicht verbunden ist, wird ein Fehler gemeldet.
Fügen Sie hier eine Bildbeschreibung ein

Keil-Debugging-Schnittstellenfenster

Fügen Sie hier eine Bildbeschreibung ein
Wenn Sie die Registergruppe und die Statusflags mithilfe der Assemblerprogrammierung programmieren, müssen Sie diese sehr genau verstehen.
Wenn Sie die Sprache C verwenden, müssen Sie sich darüber keine Gedanken machen.

Fügen Sie hier eine Bildbeschreibung ein

Einfache Funktionsbeschreibung

Dieser Teil ist die Programmausführungskontrolle
1. Zurücksetzen 2. Mit voller Geschwindigkeit ausführen 3. Mit voller Geschwindigkeit stoppen 4. Einzelschrittbetrieb 5. Aktuelle Zeile überspringen und Einzelschritt ausführen 6. Aktuelle Funktion verlassen und Einzelschritt ausführen 7. Zur angegebenen Zeile wechseln durch den Cursor und führen Sie einen Einzelschritt aus

Fügen Sie hier eine Bildbeschreibung ein
Der gelbe Pfeil zeigt die nächste auszuführende Codezeile an, und der blaue Pfeil zeigt die Zeile an, in der sich der Cursor befindet.
Fügen Sie hier eine Bildbeschreibung ein
Klicken Sie auf den dunkelgrauen Bereich auf der linken Seite, um einen Haltepunkt festzulegen. Klicken Sie auf „Mit voller Geschwindigkeit ausführen“. Das Programm wird dann weiter ausgeführt, bis der Haltepunkt stoppt. Wenn kein Haltepunkt vorhanden ist, wird das Programm nicht automatisch gestoppt. und Sie müssen auf die Schaltfläche Stopp klicken. Das Programm wird gestoppt.

Fügen Sie hier eine Bildbeschreibung ein
Klicken Sie zum Zurücksetzen auf RST, und das Programm kehrt zum Anfang zurück. Sie können sehen, dass sich das Programm in der Reset-Interrupt-Funktion befindet, was darauf hinweist, dass die Ausführung des Programms von hier aus nach dem Zurücksetzen beginnt.

Zuerst springt das Programm zur SystemInit-Funktion und führt dann die Funktion zur Hauptfunktion aus.

Mit diesem Ansatz können wir genau verfolgen, wie unser Programm ausgeführt wird. In diesem Modus können Sie Schritt für Schritt erkunden, wie die Funktion ausgeführt wird. Auf diese Weise wird das logische Verständnis des Programms vertieft.

Dies ist eine einfache Funktion im Debug-Modus. Im Debug-Modus gibt es leistungsfähigere Funktionen.

Leistungsstärkere Funktionen

Fügen Sie hier eine Bildbeschreibung ein
Das erste ist das Befehlsfenster, das geöffnet und geschlossen werden kann
Fügen Sie hier eine Bildbeschreibung ein
Zweites Demontagefenster
Im dritten Symbolfenster können Sie die Werte aller Variablen im Programm in Echtzeit anzeigen
Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
Wenn Sie die Änderungen im Strukturwert sehen möchten, können Sie mit der rechten Maustaste klicken und ihn zum Watch1-Fenster hinzufügen.
Fügen Sie hier eine Bildbeschreibung ein
Klicken Sie zum Ausführen auf einen einzelnen Schritt und Sie können die Änderungen in den Variablenwerten sehen, was sehr praktisch ist.

Es gibt auch eine Anzeige für die serielle Schnittstelle
Fügen Sie hier eine Bildbeschreibung ein
Logikanalysator
Fügen Sie hier eine Bildbeschreibung ein
Warten Sie, Sie können sich die Zeit nehmen, selbst mehr darüber zu erfahren

Sie können auch auf das Peripheriemenü klicken und Systemressourcen anzeigen, um alle Peripherieregister anzuzeigen.
Fügen Sie hier eine Bildbeschreibung ein
Wenn Sie beispielsweise GPIOA auswählen, werden rechts alle Register der GPIOA-Peripheriegeräte angezeigt.
Fügen Sie hier eine Bildbeschreibung ein

Während des Debuggens führt STM32 das Programm auch in Echtzeit aus. Wenn Sie erneut auf „Ausführen“ klicken, wird die Ausführung von stm32 fortgesetzt. Es kommt jedoch zu einer gewissen Verzögerung bei den Echtzeitänderungen. Die Online-Debugging-Funktion ist immer noch sehr leistungsfähig. Das Programm wird in Echtzeit ausgeführt. Die Keil-Software zeigt den Peripherieregisterstatus in Echtzeit an. Sie können außerdem jederzeit den Start, Stopp und den Einzelschrittbetrieb des Programms steuern. Wenn Sie beispielsweise auf ein Programm stoßen, das sich nur schwer anpassen lässt, wissen Sie nicht, wie das Programm ausgeführt wird, oder Sie möchten viele Variablen sehen, deren Anzeige jedoch umständlich ist, oder Sie möchten sehen, ob das Register Wenn die Werte korrekt konfiguriert sind, können Sie Keil automatisch verwenden. Mit dem Debug-Modus. Wenn Sie das Programm ändern, können Sie es nicht direkt im Debugging-Modus ändern. Um das Programm zu ändern, müssen Sie zuerst den Debugging-Modus verlassen, neu kompilieren und dann in den Debugging-Modus wechseln.

Weitere Funktionen von Keil warten auf weitere Erkundung.
Fügen Sie hier eine Bildbeschreibung ein
Hilfe öffnet das offizielle Hilfedokument, das die maßgeblichste und detaillierteste Einführung enthält und weitere schwarze Technologien zur Verwendung von Keil enthält.