Fehler beim Kompilieren für das Board Arduino Mega or Mega 2560.

Hallo zusammen,
ich bin kompletter Anfänger bei der Programmierung der Arduino Mega. Ich habe alles soweit angeklemmt und beim Hochladen des Sketches kommt immer zum Schluss folgender Fehler:

exit status 1
Fehler beim Kompilieren für das Board Arduino Mega or Mega 2560.

Aufgrund des Umfanges habe ich das Ausgabeergebnis und das Programm jeweils in eine Textdatei kopiert und dem Post angehängt.
Ich bin einfach zu unerfahren, um das Problem zu finden. Kann mir vielleicht jemand weiterhelfen? Ich bin wirklich für jede Hilfe dankbar. Ich finde einfach das Problem nicht.

Ich danke schon einmal vorab.

Ergebnisausgabe.txt (50.4 KB)

Programm.txt (296 KB)

roonholt:
und beim Hochladen des Sketches kommt immer zum Schluss folgender Fehler:
Fehler beim Kompilieren für das Board Arduino Mega or Mega 2560.

Ich hab mal kurz drüber getickert - sehr umfangreich.

Ich vermute, das die encoder-lib oder die lcd lib das Problem ist.

Ich verwende:

und habe lcd.begin auskommentiert:
// lcd.begin(20, 4); //neuere Library

Damit kompiliert der code mit

 Der Sketch verwendet 62878 Bytes (24%) des Programmspeicherplatzes. Das Maximum sind 253952 Bytes.
Globale Variablen verwenden 4991 Bytes (60%) des dynamischen Speichers, 3201 Bytes für lokale Variablen verbleiben. Das Maximum sind 8192 Bytes.

ABER!
Da sind noch Baustellen drin. Es gibt einige Warnungen.
[-Wreorder]
[-Wignored-qualifiers]

  • Im Zusammenhang mit dem encoder

und
'dreh' may be used uninitialized in this function [-Wmaybe-uninitialized]

Sag mal, was Du für libs Du verwendest - Herkunft!

Hallo,

mir sind das zu viele defines und zu viele globale Variablen. In paar Wochen blickst du selbst nicht mehr durch. Versprochen.

unused Parameter ... erstmal geschenkt
unused return Parameter ... erstmal geschenkt
und vieles andere mehr.
Klammerfehler für if Vergleiche ... gefährlich
Das kann zu exit status Fehler führen.
Bei Zeile 10247 gehts los.

Arbeite die Fehler und Warnungen von oben nach unten ab.

Die Fehlermeldungen mit den Libs sind so nicht normal. Vermutlich falsche Anwendung der Lib.
Miteinander kollidieren können sie natürlich untereinander auch.
Wenn gar nichts geht, dann Code abspecken, also rückbauen bis es wieder kompiliert und man selbst duchblickt.

Ich glaube kaum das es jemand gibt der sich durch den Wust an Code wühlt. Ich muss das leider so sagen.

Tipp. Weg von defines, hin zu lokalen Variablen und Funktionen mit Parameter und Rückgabewerten. defines haben das Problem das sie bei Mehrfachdefinitionen einfach überschrieben werden. Du bekommst keinerlei Warnungen. Das letzte define gewinnt. Und wenn du im Code mehrfach auf ein if define abfragst erhöhst du nur die Fehlerquote. Dann knallt es früher oder später sowieso. Datenstrukturen sind auch hier unabdingbar, allein schon für den eigenen Durchblick. Hier habt leider einfach drauflos programmiert und der Code ist gewachsen und gewachsen und ...

Doc_Arduino:
Klammerfehler für if Vergleiche ... gefährlich
Das kann zu exit status Fehler führen.
Bei Zeile 10247 gehts los.

Ich glaube kaum das es jemand gibt der sich durch den Wust an Code wühlt. Ich muss das leider so sagen.

Tipp. Weg von defines, hin zu lokalen Variablen und Funktionen mit Parameter und Rückgabewerten. defines

Ach ich hab das auch grad vor mir...
Und ob geschenkt oder nicht, da kann man drüber nachdenken.

Das Codestück dürfte nur weiterverwendet sein. Da mach ich erstmal keinen Vorwurf draus.
Das was mich nervt, das keiner STRG-T drücken kann...

Da du, wie du selbst schreibst, Anfänger bist, kann dieser Sketch nicht von dir sein.

Also warum fragst du nicht den Autor wegen deines Problems, der kennt seinen Sketch sicher am Besten.

roonholt:
Ich bin einfach zu unerfahren, um das Problem zu finden. Kann mir vielleicht jemand weiterhelfen?

Wende Dich an den/die Ersteller des Programms. Die sollte man hauen.

Gruß

Gregor

gregorss:
Die sollte man hauen.

och ḱomm… Wer Bier braut trinkt das wohl auch. :wink:
Aber die Seite ist zumindest nicht so schlimm mit fitzings gebaut…
https://hobbybrauer.de/forum/wiki/doku.php/brauen_mit_arduino_all_in_one_aio

my_xy_projekt:
och ḱomm... Wer Bier braut trinkt das wohl auch. :wink:
Aber die Seite ist zumindest nicht so schlimm mit fitzings gebaut...
Brauen mit den AiO-Brausteuerungen - Hobbybrauer Wiki

Ja, ok. Besoffen könnte mir so ein Code auch passieren. Statt sie zu hauen, könnte man sie auch für eine Stunde daran hindern, aufs Klo zu gehen. Das merkt man sich bestimmt auch :slight_smile:

Gruß

Gregor

gregorss:
Das merkt man sich bestimmt auch :slight_smile:

Die andern merkens früher :slight_smile:

roonholt:
wirklich für jede Hilfe dankbar.

Na da bin ich gespannt...
Dir sei geraten:
https://hobbybrauer.de/forum/wiki/doku.php/brauen_mit_arduino_all_in_one_aio#zur_besseren_uebersicht_noch_einmal_alle_downloads_zusammengefasst

Dort ist der Punkt: Libraries für alle Versionen

Bau Dir eine portable Version Deiner Arduino-Umgebung und installier die libs von da.
Und dann unbedingt die Klammern!

Doc_Arduino hat es schon angesprochen.
Ich war da auch schon.
Das fängt aber schon 9000 Zeilen früher an.

  if (funkruf)
    if (brauerruf)
      mySwitch.send(funk_variabel_ein, 24);
  delay(funkdelay);

Da kann sich durchwühlen wer will.
Die Lösung dürfte in der Verwendung der (richtigen) libs liegen und dann dem hobbybrauer mal nen Bier spendieren mit dem Hinweis, das der seinen Code überarbeitet.

Danke für die Rückmeldungen. Ich bin sehr naiv da dran gegangen. Ich denke der Tipp mit dem Rückbau ist sehr gut. Dann ist es auch beim Aufbau nachher einfacher die Schritte zu verstehen.

Dankeschön

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