Nano ESP 32-S3 Setupcode wird nicht ausgeführt

Hallo ich bin recht neu hier im Forum also habt etwas nachsehen mit mir.
Ich habe kein komisches Problem mit meinem brand neuen Arduino Nano ESP32-S3.
Eigendlcih versuche ich eine BLE verbindung aufzubauen um einen String vom Handy auf den Arduino zu übertragen. Angefangen habe ich mit dem Beispielcode BLE_Server der Arduino IDE nach anfänlischen schwirigkeiten (Arduino BLE Libary musste deinstalliert werden) hat das aufspielen geklappt. Leider wird mir selbst beim standard Beispielcode der Arduino nicht in der BlueLight App angezeigt. ich habe dann weiter rumprobiert und den Code auf das minimalste reduziert. In dem ich einfach nur an den Serialmonitor ein Hallo sende.
Jetzt das Kuriosum im Loop funktioniert das tadellos sobald es aber im setup steht nicht mehr.
Daher meine vermutung das der Code den ich für den Bluetooth LE aufbau im Setup stehen habe auch nicht ausgeführt wird.
Habt ihr eine Idee woran das liegen kann oder habt ihr ähnliches schon mal erlebt?

Hier nochmal der Code der nicht ausgeführt wird:

void setup() {
 Serial.begin(9600);
 Serial.println("Hallo");
}

void loop() {
 // put your main code here, to run repeatedly:
}

Wenn ich es so schreibe kommt alles im Seriellenmonitor an:

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hallo");
}

Versuch's mal so:

void setup() {
 Serial.begin(9600);
 while(!Serial);
 Serial.println("Hallo");
}

Das hab ich so auch schon mal probiert. Macht aber keinen Unterschied.

gib ein kurzes Delay ins Setup

void setup() {
 Serial.begin(9600);
 delay(500);
 Serial.println("Hallo");
}

So ich habe das nochmal mit dem delay ausprobiet auch hier kein unterschied.
Das setup wird auf dem ESP32 S3 einfach nicht ausgeführt. Als vergleich habe ich das gleiche Programm auf einem herkömmlichen Arduino Nano und auch auf einem Mega 2560 ausprobiert.
Hier funktioniert der Code tadellos.
Kann es sein das man bei der C programmierung auf einem Arduino Nano ESP32 irgendetwas beachten muss?

Doch, das wird bei einem Reset zuverlässig ausgeführt. Meine Beobachtung ist allerdings, dass ein Öffnen des seriellen Monitors nicht immer zuverlässig den ESP32 zurücksetzt ( im Gegensatz zu den AVR-Boards ). Ist der Monitor bereits offen, und man setzt den Nano ESP per Taste zurück, wird die Verbindung zum Monitor meist nicht mehr aufgebaut. Dann muss man den Monitor schließen und neu öffnen. Dabei ( beim ersten Mal ) wird dann auch der ESP zurückgesetzt. Das erkennt man, wenn man sowohl im setup() als auch im loop etwas ausgibt ( mit unterschiedlichem Text!).
Das ist alles etwas undurchsichtig.
Welche IDE verwendest Du?

Ich hab es mit der arduino IDE 2 als auch mit VS Code und Platfirm IO brobiert. Auch das mit dem unterschiedlichen Text im setup und loop. Das was im setup steht wird einfach nicht ausgeführt. Zumindest kommt es mir so vor. Vielleicht mavht aber auch nur der bootloader probleme hab den heute einmal zuruckgesetzt aber auch das brachte nicht wirklich was.

Versuch mal das:

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  for( byte i=0;i<5;i++) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(300);
    digitalWrite(LED_BUILTIN, LOW);
    delay(300);
  }
  Serial.println("---Setup-Ende---");
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("loopStart");
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}

Am Blinken der onBoard LED solltest Du unabhängig von den Ausgaben erkennen, ob er durch das setup() läuft ( 5x schnelles Blinken ).

OK, also das mit den LEDs hat geklappt blinjt so eie es im code steht aber der print Befehl im setup kommt nicht an warum auch immer.
Danke für den tipp mit den onboard LEDs.
Dann kann ich mich ja jetzt wieder mit dem eigentlichen problem beschäftigen, nämlich der BLE kommunikation.damit ging der ganze schlamassel ja los.

So nochmal ein nachtrag von mir ich habe die Lösung gefunden warum das Bluetooth LE nicht funktioniert hat es lag weder am Code noch wie anfänglich von mir befürchtet am ESP32. Ich konnte das gerät einfach nicht finden weil Bluetooth LE auf Android die Standortdienste vorraussetzt. Ich Ärgere mich gerade etwas weil ich schon 2 Wochen an dem Problem herumprobiere. Aber es ist jetzt endlich gelöst. Danke für eure Ideen und ratschläge.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.