CodeShorty: Serieller Interrupt

Ist es möglich, Eingaben auf der Seriellen-Schnittstelle per Interrupt abzufangen? Die Antwort ist wohl eher Jain, es ist möglich, die Serial Event Funktion zu verwenden. Diese wird nach jeder Loop ausgeführt, unterbricht diese aber nicht. Zweck Benutzereingaben über Terminal Kommunikation mit anderen Geräten über die Serielle-Schnittstelle Nötige Bibliotheken Keine Programm Es gibt in der Arduino-Gui …

Weiterlesen →

Präprozessor-Direktiven

Konstanten definieren Präprozessor Konstanten werden mit dem #define Befehl erstellt. Diese können einfach nur als Name existieren, wie im Folgenden zu sehen ist: oder sie können mit einem Wert versehen werden. Der Präprozessor fügt dann an jeder Stelle, an der der Konstantenname verwendet wird, den entsprechenden Wert ein. Auch Ausdrücke sind möglich: Ob eine Konstante …

Weiterlesen →

Espressif IDF – Menuconfig

Eine der schönen Errungenschaften der IDF ist die menügesteuerte Konfiguration. Noch schöner finde ich, dass eigene Konfigurationspunkte erstellt werden können. Diese werden dann automatisch in das Hauptmenü eingehängt. Vorab: Die Bibliothek „esp_system.h“ wird im Quellcode benötigt, sonst klappt’s nicht Nach Änderungen am Menü ein idf.py clean durchführen Zur Erstellung solch eines Konfigurationspunktes nehme ich das …

Weiterlesen →

Espressif IDF – Timer

Ein beliebtes Beispiel in der Arduino Umgebung ist Blink. Hier wird eine LED mit einer kurzen Pause an und aus geschaltet. Zu Gpio Aktionen kommen wir im nächsten Kapitel, um das Blinken kümmern wir uns hier. Auch in der Arduino Umgebung wird immer geraten, Codeunterbrechungen mit Delay zu vermeiden. Dort gibt es einige Konstrukte mit …

Weiterlesen →

Espressif IDF – Lognachrichten

Gerade bei der Entwicklung auf dem Microcontroller ist hier und da mal eine Ausgabe wichtig, um zu erahnen, ob der entwickelte Code auch das Richtige macht. Schade ist es, wenn solche Ausgaben dann immer noch das fertige Produkt belasten. Damit der Debugging Code es nicht oder nur bedingt ins Endprodukt schafft, gibt es in nahezu …

Weiterlesen →

Espressif IDF – Fehlerbehandlung

Die Fehlerbehandlung ist in der IDF eine der Kernfunktionalitäten. Auf sie stößt man praktisch in jedem Beispiel-Programm. Deshalb möchte ich an dieser Stelle näher auf sie eingehen. Alle wichtigen Funktionen der IDF geben Fehlercodes zurück. Hierauf kann zum einen manuell reagiert werden (if Bedingung + eigenes Handling) oder sie können an ein spezielles Makro (Funktion) …

Weiterlesen →

Espressif IDF – Konsolenausgabe

Direkte Ausgaben über die Konsole werden in der IDF mit printf erreicht. Hiermit sollte man jedoch sparsam umgehen, da es zum Beispiel zu Debugging Zwecken oder zur Fehlerbehandlung andere Mechanismen gibt. Diese können dann auch über Menuconfig ein- und ausgeschaltet werden und belasten so nicht den CODE. So sieht der Testcode für eine einfache Ausgabe …

Weiterlesen →

Espressif IDF – Projekt erstellen

Hier beschreibe ich, wie ein neues IDF-Projekt angelegt wird. Wie die IDF, auch in Verbindung mit VS-Code, genutzt und installiert wird, habe ich unter folgenden Links schon beschrieben und ist nicht Gegenstand dieses Beitrags. Espressif IDF für ESP32-S2 Installieren VS-Code Espressif IDF LILYGO EP32 S2 V1.1 (1. Anwendung) Ein guter Start ist es, das IDF-Beispiel …

Weiterlesen →