Frage zu ESP32 Geschwindigkeit

OP #7734237
Lesenswert?
• ▲
▼

Hallo, ich bin ein ESP32 Neuling und wollte da ein paar Experimente machen. Ich habe in der Arduino Ide DigitalWrite(10, HIGH); DigitalWrite(10, LOW); eingegeben und bekomme ein Rechtecksignal von ca 300kHz, wobei Low dreimal so lang ist wie High. Ich habe das Ganze dann in eine whlile Schleife gelegt und komme auf ca 500kHz. Ich benutze ein ESP32_C3 Super Mini. Weiß jemand ob es beim ESP32 auch Ports gibt? Beim Arduino Nano habe ich das auch mal probiert und mit z. B. PortB 0b00000001; war die Geschwindigkeit um den Faktor 5 - 10 mal höher als bei digitalWrite; Vielen Dank für jede Antwort Hans

#7734290
Lesenswert?
• ▲
▼

Hans L. schrieb:

Ich habe in der Arduino Ide DigitalWrite(10, HIGH); DigitalWrite(10, LOW); eingegeben

Was ist das für eine Funktion? In der Standardimplementation gibt es lediglich eine Funktion digitalWrite(). https://www.arduino.cc/reference/de/language/functions/digital-io/digitalwrite/

Du könntest alternativ digitalWriteFast() probieren, wo viel vom Overhead der Funktion digitalWrite() zur Geshwindigkeitsoptimierung ausgespart wurde.

Moderator #7734330
Lesenswert?
• ▲
▼

Rainer W. schrieb:

Du könntest alternativ digitalWriteFast() probieren

Gibt es das auch für den ESP32-C3?

Die Fast-Funktionen sind ja keine Standardfunktionen in Arduino und deswegen nicht auf allen Plattformen verfügbar. Ich kenne diese Funktionen vom Teensy 4.0, wo man damit mit den I/O-Pins ein 150 MHz-Signal erzeugen kann, wenn ich das richtig in Erinnerung habe.

Für AVR-basierte Arduino-Boards kann man die digital*Fast-Funktionen wohl als Library herunterladen.

Ich weiß aber nicht, ob sich schon jemand erbarmt hat, diese sinnvollen Funktionen auch für ESP32, ARM, CH32 usw. zu schreiben.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.