Forum: Compiler & IDEs Compilation error: exit status 1


von Wilfried M. (willixy)


Angehängte Dateien:

Lesenswert?

Hallo Forenmitglieder,
als Anfänger suche ich eine Lösung für mein Problem. Habe auf dem 
Arduino Mega 2560 eine ino-Datei geladen und zu prüfen begonnen. Bekomme 
immer die Fehlermeldung:Compilation error: exit status 1
Kann mir jemand helfen?
Wäre sehr dankbar dafür

von Sebastian R. (sebastian_r569)


Lesenswert?

Wilfried M. schrieb:
> immer die Fehlermeldung:Compilation error: exit status 1

Das ist sicher nicht die vollständige Fehlermeldung. Reich den Rest der 
Compilerausgabe bitte mal nach.
1
int MOTOR_DIRECTION_LEFT  = 39 HIGH;  // value for which motor moves to the left  (LOW or HIGH depending on hardware configuration)   / todo//
2
int MOTOR_DIRECTION_RIGHT = 39 LOW;  // value for which motor moves to the right (LOW or HIGH depending on hardware configuration)   / todo//
3
4
...
5
6
int MOTOR_DIRECTION_UP   = 33 HIGH;  // value for which motor moves to the up  (LOW or HIGH depending on hardware configuration)   / todo//
7
int MOTOR_DIRECTION_DOWN = 33 LOW;   // value for which motor moves to the down (LOW or HIGH depending on hardware configuration)   / todo//

Und erklär bitte, was das machen soll (Auf diese Zeilen weist dich der 
Compiler mit roter Schrift hin...)

: Bearbeitet durch User
von Wilfried M. (willixy)


Lesenswert?

Habe den Fehler gefunden:
int MOTOR_DIRECTION_LEFT  = 39 HIGH; usw,
Richtig ist:
int MOTOR_DIRECTION_LEFT  = HIGH;
PIN gehört nicht dazu.
Prüfung erfolgreich.

Hochladen erfolgreich, aber Meldung:
Using Port                    : COM3
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

avrdude done.  Thank you.

Fehlersuche?

von Helmut -. (dc3yc)


Lesenswert?

Dein Mega hängt nicht an COM3. Schau in der Systemsteuerung nach, 
welchen COM-Port er belegt.

von Harald K. (kirnbichler)


Lesenswert?

Wilfried M. schrieb:
> Hochladen erfolgreich, aber Meldung:

Nee, das Hochladen ist dann offensichtlich nicht erfolgreich.

Du scheinst Compilieren (Quelltext in Maschinencode übersetzen) zu 
verwechseln mit "Hochladen" (Maschinencode auf µC übertragen).

> Fehlersuche?

Avrdude kann nicht mit Deinem ungenannten Programmieradapter reden.

Falsche Schnittstelle, falsche Baudrate, falscher Programmieradapter?

von Wilfried M. (willixy)


Lesenswert?

Verwendet wird ein Mega R3 ATmega2560+WiFi ESP8266 USB-TTL CH340 7-15V 
for Arduino Mega NodeMCU Bord.
Wird im Gerätemanager nicht erkannt, Anzeige:
Anschlüsse (COM & LPT )
 USB-SERIAL CH340 (COM3 )
Falsches Bord? Falsche Einstellung?
Unter „Anderes Board und anderen Ports wählen“ finde ich kein Mega R3 
ATmega2560+WiFi ESP8266 Board!

von Thomas W. (Gast)


Lesenswert?

Wilfried M. schrieb:
> Verwendet wird ein Mega R3 ATmega2560+WiFi ESP8266 USB-TTL CH340 7-15V
> for Arduino Mega NodeMCU Bord.
[...]
> Unter „Anderes Board und anderen Ports wählen“ finde ich kein Mega R3
> ATmega2560+WiFi ESP8266 Board!

Dieses ist kein "Arduino-Board" (siehe https://www.arduino.cc) sondern 
eine China-Erfindung (z.B. 
https://de.aliexpress.com/item/1005007668813988.html). Mit dem 
Maeuseklavier (DIL-Schalter) stellst Du ein ob der USB-Anschluss mit dem 
Mega2560 oder esp8266 verbunden wird.

Verkaeufer/Hersteller kontaktieren wie das Ding programmiert werden 
soll.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

"Für erhalten eine detail informationen von produkt, anweisung, führer 
und software, pls besuchen offizielle seite des produkts."

please tell me wo ist offizielle Seite? Steht nämlich nirgends.

Die englische Seite (rechts oben umschalten) ist genauso schlecht 
übersetzt
For get a detail information of product, instruction, guide and 
software, Pls visit to official page of product.

Um den ATMega260 über USB zu programmieren soll der DIP-Schalter so 
stehen
(links steht Nr. 1, rechts 7):
USB <->ATmega2560: OFF OFF ON ON OFF OFF OFF

von Thomas W. (Gast)


Angehängte Dateien:

Lesenswert?

Wenn man ein wenig googled, findet man den Schaltplan (angehaengt). Die 
DIL-Schalter sind eine Sache, Switch 2 verbindet den ESP mit dem 2560.

Aber da muss der TO sehen was er will (und was er kann, nach eigenem 
Bekunden Anfaenger).

Die SW-Kopplung ESP8266 <-> Arduino ist natuerlich nicht trivial.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der Schaltplan sagt schon einiges:
Die serielle Schnittstelle TXD / RXD des CH340 führt über den DIP-Switch 
zu PortE1 und PortE2 des ATMega2560. Dort sind das der USART0 Receive 
Pin und  USART0 Transmit Pin wie man im Datenblatt aus Table 13-15 
erfährt:

https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/ATmega640-1280-1281-2560-2561-Datasheet-DS40002211A.pdf#page=82

Jetzt muss nur noch der Bootloader diesen USART0 ansprechen. Ist der 
Bootloader überhaupt programmiert? Oder haben das die Chinesen dem 
Anwender überlassen?

von Monk (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> Ist der Bootloader überhaupt programmiert?
> Oder haben das die Chinesen dem Anwender überlassen?

Das erkennt man normalerweise daran, dass die LED "L" beim einschalten 
der Stromversorgung kurz blinkt. Wenn die dunkel bleibt fehlt der 
Bootloader wohl.

von Wilfried M. (willixy)


Angehängte Dateien:

Lesenswert?

Die LED "L" blink, LED "On" brennt und ganz unten blaue LED ohne 
Bezeichnung, siehe Foto. DIP-Schalter vergossen.

von Thomas W. (Gast)


Lesenswert?

Wilfried M. schrieb:
> Die LED "L" blink, LED "On" brennt und ganz unten blaue LED ohne
> Bezeichnung, siehe Foto. DIP-Schalter vergossen.

Die DIL-Stecker sind nicht vergossen, ein bisschen abgedeckt.

Mein Vermutung waere (USB-Kabel zeigt von Dir weg, d.h. wie beim Photo 
gezeigt):

Off - Off - ON - ON - Off - Off - Off - Off

Das sollte sich das Ding mit der Arduino-IDE programmieren lassen (wie 
schon oben gesagt).

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Da steht doch "ON" drauf und damit sind 1-4 OFF und 5-7 ON, 8 ist 
unbenutzt. Die Schalterstellung ist für den ESP, nicht ATMega.

von Harald K. (kirnbichler)


Lesenswert?

Wilfried M. schrieb:
> DIP-Schalter vergossen.

Der ist nicht "vergossen", da ist ein Stück Kapton-Klebeband drauf, das 
zum Schutz des Schalters bei der Platinenreinigung angebracht wurde.

Das kann man entfernen.

von Wilfried M. (willixy)


Lesenswert?

Danke für eure Tipp`s!
Nach dem Einstellen der DIP-Schalter war das Hochladen erfolgreich.
Ein schönes Wochenende wünscht euch Wilfried

von Wilfried M. (willixy)


Angehängte Dateien:

Lesenswert?

Noch eine Anfängerfrage:
Welche Funktion hat der Schiebeschalter?

von Harald K. (kirnbichler)


Lesenswert?

Wilfried M. schrieb:
> Welche Funktion hat der Schiebeschalter?

Sieh Dir den Schaltplan an. Das Symbol für den Schalter ist unglücklich 
gewählt, tatsächlich sind das zwei Umschalter in einem Gehäuse.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Das ist wirklich ein Suchspiel. Die genaue Typbezeichnung des ESP8266 
steht nicht im Schaltplan und das Foto ist zu unscharf.
https://www.espressif.com/en/products/socs/esp8266
da kann man sich einen im 32-poligen Gehäuse aussuchen.
Die Anschlüsse TX0 und RX0 tauchen an mehreren Stellen auf.

von Harald K. (kirnbichler)


Lesenswert?

Christoph db1uq K. schrieb:
> Das ist wirklich ein Suchspiel.

Ja, der "Schaltplan" ist ziemlich beschissen.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Da gibt es so viele serielle Schnittstellen, mal sortieren:

- Die Daten des USB-Chip CH340 heißen TXD / RXD und führen gleich 
zweimal auf den DIP-Schalter. Dort kann man sie über Schalter 3/4 zum 
ATMega oder auch über 5/6 gekreuzt zur seriellen Schnittstelle des ESP 
weiterführen.

- Es gibt die Zwischenbezeichnungen TX0/RX0, die über DIP-Schalter 1/2 
direkt mit dem ESP RX/TX verbunden werden können.

- Über den zweifachen Schiebeschalter können TX0/RX0 aber auch entweder 
mit dem ATmega USART0 RX/TX (PE1/2) oder mit dessen USART3 (TXD3/RXD3) 
verbunden werden. Ob da eine Kreuzung vorliegt ist (durch die seltsame 
Darstellung der beiden Schalter in einem) nicht direkt ersichtlich. Ich 
nehme aber an, dass so ATMega und ESP gekreuzt verbunden werden.

Man kann somit entweder den ATMega oder den EPS über USB ansprechen.
Die beiden dürfen sich über den USART3 aber auch miteinander 
austauschen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.