Espressif IDF – GPIOs

Die meisten GPIO Pins des ESP32 sind, bis auf ein paar Ausnahmen, sowohl Eingänge als auch Ausgänge (siehe hierzu auch das entsprechende Datenblatt). Wie diese digital angesteuert werden, zeigen die nächsten Beispiele. Grundsätzliches Sind die Pins als digital konfiguriert, können sie jeweils den Wert 1= true oder 0= false annehmen. Ausgang Hier das Blinkbeispiel mit …

Continue reading "Espressif IDF – GPIOs" →

Espressif IDF – Tasks

A task is a (recurring) job for the processor. Multiple tasks compete for the CPU's attention. How these are created and which data structures are available for data transfer and synchronisation will be briefly outlined in this post. Tasks can become a very complex matter, which is why I can only scratch the surface here. Nevertheless…

Continue reading "Espressif IDF – Tasks" →

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 …

Continue reading "Espressif IDF – Menuconfig" →

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 …

Continue reading "Espressif IDF – Timer" →

Espressif IDF – Log Messages

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 …

Continue reading "Espressif IDF – Lognachrichten" →

Espressif IDF – Error Handling

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) …

Continue reading "Espressif IDF – Fehlerbehandlung" →

Espressif IDF – Console Output

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 …

Continue reading "Espressif IDF – Konsolenausgabe" →