Timer Interrupt ESP32

Hallo!

Seit einigen Tagen versuche ich einen Timer mit Interrupt zu erstellen und es gelingt einfach nicht.

Kann mir jemand ein funktionierendes Beispiel geben?

Folgende Bedingungen müssen erfüllt sein.

  • Arduino IDE 1.8.19 oder 2.3.4
  • ESP32 DEVKIT V1
  • API 3.0 (oder wie kann ich weiterhin API 2.x nutzen?)
  • Hochzählen
  • Interrupt soll nach 25 bis 1250ns auslösen; in der ISR muss der Wert geändert werden, also eine Art PWM
  • Zähler soll nicht angehalten werden, also kontinuierlich

Alle Beispiele, die ich gefunden habe, funktionieren nicht. Auch verschiedene KIs konnten kein passendes Programm finden.

Selbst der Programming Guide von Espressif hat mir nicht geholfen, da einige Variablen in der ArduinoIDE nicht bekannt sind.

Erspart mir bitte die Anfrage nach falschen Programmen.

Bitte auch keine Links auf englischsprachige Seiten. Ich hatte kein Englisch in der Schule (bei uns gab es Russisch, was aber keiner wollte).

Liebe Grüße, Eure Jona

dann eben auf Deutsch:

Bau die ISR so um wie du sie haben willst.
Wenn es nicht funktioniert, poste deinen Code und beschreibe was nicht mehr geht.

Tools / Board auswählen / Boardmanager

im Boardmanager kann man dann auch die Platform Package Version ("Core Version") auswählen

Danke für die schnelle Antwort. Das mit dem Boards Manager hilft mir weiter.
Ich werde berichten.

Danke!
Jona

Ich habe mir die Lib “ESP32_New_TimerInterrupt” installiert. Erste Versuche mit core 2.x liefen gut.

Danke, Eure Elektronikoma, Jona.

:smiley: Man ist nie zu alt zum Lernen! :smiley:

Wenn man mehrere Versionen und deren Kombination testen möchte, kann man parallel zur "normalen" auch eine portable Version installieren. So verwende ich IDE 2.3.6 mit ESP32-Core 3.2.1 und IDE 1.8.19 mit ESP32-Core 2.0.14.

Nur so als Tipp, wenn Du mal hin- und herwechseln möchtest :wink:

Hallo,

warum den alten Core 2.x verwenden wenn man neu anfängt? Man läuft in eine Sackgasse. Fang mit aktuellen Core 3 an. Dann stimmen auch alle aktuellen Dokumentationen.
Wenn man sich außerhalb des Arduino Framework befindet, hilft nur die Espressif API und/oder andere Seiten die diese erklären.

Bsp.
https://docs.espressif.com/projects/arduino-esp32/en/latest/api/ledc.html

https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/ledc.html

https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/gptimer.html

Wo 80% der Bibliotheken machen Probleme, meistens für TFT LCD.

Hallo,

auch das wird sich ändern. Da bin ich mir sicher.

Aber nur, wenn die Bibliotheksautoren Zeit und Motivation finden, das ist keineswegs garantiert. Da "Geiz geil" ist, ich schließe mich da mit ein, mangelt es vermutlich auch an Geld. Daher bin ich nicht ganz so optimistisch wie Du.

Wenn ich jetzt ein Projekt realisieren möchte, benötige ich jetzt funktionierende Bibliotheken. Daher bin ich gezwungen, ältere IDE- und Coreversionen einzusetzen.