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: 14)
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
  IR Code senden mit IRremote BanditBandeh 7 3.576 23.10.2020 20:41
Letzter Beitrag: offler
  Verständnisfrage 2D Array hugofant 2 261 06.10.2020 07:35
Letzter Beitrag: hugofant
  Verständnisfrage: Arduino Hardwaremanagement für Bibliotheken rick00 17 1.648 09.07.2020 23:57
Letzter Beitrag: rick00
Question Wie html code der " und ' enthält in eine Stringvariable bringen? Triax16 2 747 27.05.2020 09:26
Letzter Beitrag: Triax16
  ASCII code in Dezimalzahl umwandeln acca500 8 1.126 15.05.2020 11:34
Letzter Beitrag: acca500
  Asembler-Code langsamer als C? GuaAck 0 537 06.05.2020 23:40
Letzter Beitrag: GuaAck
Question "Bobbycar LED" - 2 Fragen (Mehrere Taster: Unterprog. Abbrechen / Einfacher "Code" ?) KlausGuenther 13 1.684 19.03.2020 14:09
Letzter Beitrag: Tommy56
  Verständnisfrage zu RTClib und speziell: rtc.ajust Karli 17 4.993 15.01.2020 14:54
Letzter Beitrag: Tommy56
  Wert von einem Arduino zu einem zweiten Arduino senden Thorsten_S 9 2.710 14.10.2019 14:48
Letzter Beitrag: Thorsten_S
Photo RGB-LED faden [Fehler im Code] Botographic 4 1.273 02.09.2019 14:42
Letzter Beitrag: Botographic

Gehe zu:


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