Projekt-Anfragen: Tel: 07022/9319004 info@CodeDocu.de Software Entwicklung in C# WPF Asp.Net Core Vba Excel Word SQL-Server EF Linq, UWP Net
#

 

 

Wie schnell kann man einen Impuls in ESP32 programmieren. Impulsbreite in ns

Die kürzeste Impulsbreite liegt bei 50ns Nanosekunden und die Perioden-Weite bei 140ns.

 

Allerdings muss man hierzu direkt die Ausgangs-Pins ansprechen mit

  //PIN GPIO4->ON

  GPIO.out_w1ts = 0b10000;

  

  //PIN GPIO4->OFF

  GPIO.out_w1tc = 0b10000

 

 

 

 

 

Arduino IDE Code für ESP32

Einfach laden und öffnen in  der Arduino IDE und hochladen auf den ESP32 Prozessor im ESP32 NodeMCU DevKit

 

//*FASTEST IMPULSE TEST ON ESP32

 

//====< VARIABLES >====

int OUT_PIN = 4;

//====</ VARIABLES >====

 

//BitMask

//0b11111=GPIO 0, 1, 2, 3, 4,

//0b10000=GPIO4

 

//=============< SETUP >============

void setup(){

  //--------< setup() >--------

  

  //< GPIO >

  //pinMode(OUT_PIN, OUTPUT);

  //digitalWrite(OUT_PIN, LOW);    // PULS_OFF DEFAULT  

  //</ GPIO >

 

  //ESP32 config io

  gpio_config_t io_conf;

 

  //ESP32 config io to output

  io_conf.mode = GPIO_MODE_OUTPUT;

 

  //Bitmask GPIO4 as Output

  io_conf.pin_bit_mask = 0b10000;

 

  //Set BitMask

  gpio_config(&io_conf);

  

  Serial.begin(115200);

  Serial.println("\n FASTEST IMPULSE TEST ON ESP32");

 

  //--------</ setup() >--------

}

//=============</ SETUP >============



//=============< Main_Loop >============

void loop(){

  //--------< Main Loop() >--------

  

  ///--< Fastest Impulse >--

  //*with write on/off

  //*ImpulsWidth=50-60ns jitter 1/10

  //*PeriodeWidth=140ns (136-156) jitter 1/10

  //PIN GPIO4->ON

  GPIO.out_w1ts = 0b10000;

  

  //PIN GPIO4->OFF

  GPIO.out_w1tc = 0b10000

  ///--</ Fastest Impulse >--

 

  //--------</ Main Loop() >--------

}

//=============</ Main_Loop >============

 

 

 

Zum Vergleich:

Das Schreiben mit digitalWrite HIGH und LOW erzeugt eine minimale Impulsbreite  von 116ns

  //--< Fast Impulse >--

  //*with write on/off

  //*ImpulsWidth=166ns

  //*PeriodeWidth=308ns

  digitalWrite(4, HIGH);  

  digitalWrite(4, LOW);

  //--</ Fast Impulse >--

 

 

 

 

Gemessen an einem ESP32 WROOM-32 Mikroprozessor direkt über den GPIO4 Pin

 

Arduino kompatibel

 

Mobile
»
Mit ESP32 MosFET und hohe Spannungen schalten mit Optokoppler
»
Gelöst: conversion from void to non-scalar type String requested bei String.replace und toLowerCase
»
Arduino Code: Declare an Enum Type, a Variable and Compare it
»
ESP32 mit Bluetooth verbinden, arbeiten und Befehle schreiben und lesen
»
50ns Schnellster Impuls mit ESP32 Nanosekunden Impulsbreite
»
ESP32 Output set
»
ESP32 GPIO set output level
»
ESP32 switch GPIO fast Switches
»
Arduino ESP32 Code: Ausgabe-Pulses mit veränderbarer Pulsbreite per Button und Anzeige auf LCD und Digits
»
Gelöst: LCD zeigt seltsame Zeichen

.

Jobs, Projekte, Angebote für Freiberufler, Selbstständig an Info@CodeDocu.de