INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino- Code-Verständnisfrage
01.11.2020, 18:40 (Dieser Beitrag wurde zuletzt bearbeitet: 01.11.2020 20:15 von mat-sche.)
Beitrag #1
Arduino- Code-Verständnisfrage
Liebes Form,

als Umsteiger von Bascom beschäftige ich mich nun mit der Arduinoumgebung.
Cods nutzen und einsetze geht so doch so manchmal frag ich mich wie und warum so....

Im Moment nutze ich eine Node MCU mit der Programmübertragung per ArduinoOTA. ALs nächstes beschäfftigte ich mich mit I2C.
Nun habe ich beide Cods zusammengepackt und es funktioniert. Nun wollt ich den Code zusammenstreichen und optimieren und: !Tara! der Code ging dann nicht mehr.
Code:
/////////////////////////////////////////////////////////////////////////////////////////////////////
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°​°°°°°°°°°°°°°°°°°°
//
void setup() {
//
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°​°°°°°°°°°°°°°°°°°°
/////////////////////////////////////////////////////////////////////////////////////////////////////

  
  // Adafruit_NeoPixel Lib
  pixels = new Adafruit_NeoPixel(numPixels, pin, pixelFormat);
  pixels->begin();
  // EasyNeoPixel Lib
  setupEasyNeoPixels(0 , 8);
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°​°°°°°°°°°°°°°°°°°°  
  // Adafruit_NeoPixel Lib
  pixels = new Adafruit_NeoPixel(numPixels, pin, pixelFormat);
  pixels->begin();
  // EasyNeoPixel Lib
  setupEasyNeoPixels(0 , 8);
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°​°°°°°°°°°°°°°°°°°°
  
  Serial.begin(115200);
  while(!Serial){} // Waiting for serial connection
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°​°°°°°°°°°°°°°°°°°°
  
  // Programmcode zur Ermittlung von I2C-Slave's
  Serial.println();
  Serial.println("Start I2C scanner ...");
  Serial.print("\r\n");
  byte count = 0;
  
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission(i);
    if (Wire.endTransmission() == 0)
      {
      Serial.print("Found I2C Device: ");
      Serial.print(" (0x");
      Serial.print(i, HEX);
      Serial.println(")");
      count++;
      delay(1);
      }
  }
  Serial.print("\r\n");
  Serial.println("Finish I2C scanner");
  Serial.print("Found ");
  Serial.print(count, HEX);
  Serial.println(" Device(s).");
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°​°°°°°°°°°°°°°°°°°°

  //I2C-Display StartSreen
  lcd.init();                      // initialize the lcd
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("WS2812_I2C-LCD");
  lcd.setCursor(0,1);
  lcd.print("2020.10.28-V1.00");

  Serial.begin(115200);
  Serial.println(release);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  //ArduinoOTA.setHostname("ESP-CarPort");
  WiFi.hostname("ESP-CarPort"); // Anzeige im Router - Menü: angemeldet als ESP-Postkasten
  // No authentication by default
  // ArduinoOTA.setPassword("admin");

  // Password can be set with it's md5 value as well
  // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
  // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");

  ArduinoOTA.onStart([]() {
    String type;
    if (ArduinoOTA.getCommand() == U_FLASH) {
      type = "sketch";
    } else { // U_SPIFFS
      type = "filesystem";
    }

    // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
    Serial.println("Start updating " + type);
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) {
      Serial.println("Auth Failed");
    } else if (error == OTA_BEGIN_ERROR) {
      Serial.println("Begin Failed");
    } else if (error == OTA_CONNECT_ERROR) {
      Serial.println("Connect Failed");
    } else if (error == OTA_RECEIVE_ERROR) {
      Serial.println("Receive Failed");
    } else if (error == OTA_END_ERROR) {
      Serial.println("End Failed");
    }
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

Bei Bascom wird am Anfang vom Programm alles festgelegt, Ports, Schnittstellen ausgelegt etc.

Bei meinem Arduino Programm habe ich im void setup() 2x "Serial.begin(115200);"
declariert (siehe code in GRÜN). Lösche ich nun das zweite Serial.begin(115200);
kann ich die Node MCU nicht mehr über OTA programmieren. Die IDE gibt mir eine Rückmeldung bei dem Versuch zum brennen, dass diese die NodeMCU nicht erreichbar sei...

Kann mir jemand erklären warum das so ist???

Das wäre für mich als Umsteiger sehr hilfreich.

DANKE!


Angehängte Datei(en)
.ino  2020.10.28-V1.02.ino (Größe: 8,36 KB / Downloads: 36)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.11.2020, 18:54
Beitrag #2
RE: Arduino- Code-Verständnisfrage
Es gibt dochnun extra einen Bereich für die ESPxx, warum postest du deine Frage nicht im richtigen Bereich ?

Und ich kann die Serial.begin nicht finden, da der Sketch sehr unübersichtlich ist.
Du solltest mal aufräumen und den Müll den du nicht brauchst, rausschmeißen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.11.2020, 19:28
Beitrag #3
RE: Arduino- Code-Verständnisfrage
Ok, nach mehrmaligem durchsuchen, habe ich die genannten Anweisungen gefunden. Sorry für die Verspätung.
Aber bitte räume da auf, dann ist der besser lesbar.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.11.2020, 20:21
Beitrag #4
RE: Arduino- Code-Verständnisfrage
Hallo Dieter,

danke für Deine Antwort!

und:

(01.11.2020 18:54)hotsystems schrieb:  Es gibt dochnun extra einen Bereich für die ESPxx, warum postest du deine Frage nicht im richtigen Bereich ?

Und ich kann die Serial.begin nicht finden, da der Sketch sehr unübersichtlich ist.
Du solltest mal aufräumen und den Müll den du nicht brauchst, rausschmeißen.

Das wollte ich auch, habe begonnen den Code aufzuräumen und habe Stück für Stück rausgelöscht. Dabei bin ich über 2x Serial.begin(115200); gestoßen und habe mir gedacht, eins davon kann raus.
Nach dem ich gelöscht habe, funktionierte das flashen über OTA nicht mehr.

Drum meine Grundsatzfrage, warum kann/muss ich so in der Konstelation meines Cods die Zeile: Serial.begin(115200); drinnen haben?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.11.2020, 20:29
Beitrag #5
RE: Arduino- Code-Verständnisfrage
Für OTA brauchst Du nichtmal einmal Serial.begin(xxx); Zweimal schon überhaupt nicht.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  MiWuLa Hochofen, Code für Nano? modellbahner81 2 368 07.07.2021 11:27
Letzter Beitrag: elux011
  Code zum ansteuern einzelner WS2812B optimieren N1d45 20 1.353 13.05.2021 09:31
Letzter Beitrag: rev.antun
  * vor Variable / Code-Frage N1d45 6 740 13.04.2021 19:49
Letzter Beitrag: N1d45
  Anfänger Frage zu code Beispiel peter_schmieg 4 862 03.03.2021 12:24
Letzter Beitrag: Tommy56
Question Serial.print - Einfluss auf Code Natsnok 4 753 17.01.2021 16:48
Letzter Beitrag: Natsnok
  PIN Code Infrarot Fernbedienung Weserbergland 6 739 28.12.2020 15:05
Letzter Beitrag: Chopp
  Modbus RTU Code Probleme dahans 4 739 10.12.2020 21:43
Letzter Beitrag: dahans
  Code in Tabs einbinden AnjinSan 16 2.058 08.12.2020 16:32
Letzter Beitrag: hotsystems
  Farbe und Helligkeit der LED im Code ändern Mutz 11 1.541 01.12.2020 21:58
Letzter Beitrag: Tommy56
  IR Code senden mit IRremote BanditBandeh 7 5.555 23.10.2020 20:41
Letzter Beitrag: offler

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste