[SOLVED]Upload bricht Seitens des Arduinos ab

Nabend zusammen,
ich bin momentan dabei einen Code für ein Project was ich evtl. vertreiben möchte zu schreiben, jedoch lässt sich mein Quellcode nicht auf den Arduino laden, da dieser nach ca. 1-2 sec. nach uploadbeginn den upload abbricht.
Die Arduinosoftware (Ver. 1.0, 1.0.5, 1.52) bleibt immer beim upload stehen und berichtet bei erneutem uploadversuch das der Com-Port noch in nutzung sei, was sich erst mit ab und an stöpseln des Arduino lösen lässt.

Ich verwende derzeit Win7 Ultimate 64bit und einen Freaduino Mega 2560 (funktionsidentisch mit dem Mega 2560).

Kennt evtl. schon jemand dieses problem und hat eine Lösung parrat?
Am Speicherplatz des Arduino sollte es nicht liegen, da ich momentan knappe 14kB nutze.
Längere Strings sind mit F() ausgelagert.
Genutzt werden die DallasTemperature und die OneWire Lib.

Wäre echt dankbar wenn mit jemand helfen könnte.

NG
Dr_Console

Dr_Console:
Ich verwende derzeit Win7 Ultimate 64bit und einen Freaduino Mega 2560 (funktionsidentisch mit dem Mega 2560).

Nicht 100%ig, da der einen FTDI Chip hat.

Der Arduino selbst wird aber korrekt erkannt wenn du ihn einsteckst? Mein Freaduino hatte nämlich einen gefälschten FTDI Chip drauf.

Andere Codes kann ich ohne probleme rauf spielen... also ja.
Ich weiß nicht woran das bei meinem jetztigen Code liegt, hab schon versucht Programteile rauszustreichen, aber hat nichts gebracht...

sind da 3 !!! im Komentar?
Ist das richtige Board eingestellt?

Ansonsten Gib uns mal den Sketch.
Grüße Uwe

Ne ich benutzte den Freaduino Mega 2560, welche it dem Arduino Mega 2560 fast identisch ist.
Ich hab das Problem jedoch jetzt eingrenzen können, evtl. könnt ihr mir noch bei der Lösung helfen…

Das Stück was Probleme verursacht ist folgendes:

#define Luefter 2

float airTempC = 0.0000;
float zielTemp = 25.0000;
float nablaT = 0.5000;

if(airTempC > (zielTemp + nablaT))
{
Serial.println(F("!!!----------UEBERHITZUNG!---------!!!"));
Serial.println(F("!!!-----Luefter eingeschaltet!-----!!!"));
digitalWrite(Luefter, HIGH);
}

Lösung:

            Serial.println(F("!!----------UEBERHITZUNG!---------!!"));
            Serial.println(F("!!-----Luefter eingeschaltet!-----!!"));

Mit !!! versetzt du den Bootloader in irgendeinen Debug oder Diagnose Modus

Sei nicht ganz so dränglerisch und beschränke dich auf !! hintereinander dann geht es

Hallo,

in welcher dunklen Ecke ist das denn dokumentiert? Eigentlich unlogisch. Was in " " steht sollte eigentlich Text bleiben.

xD das muss einem mal einer veraten, sonst wird man bei der Fehlersuche ja bekloppt :smiley:
Danke für den Hinweis, evtl. sollte das mal in die refferenz aufgenommen werden.

Funktioniert jetzt alles, danke Leute!

NG
Dr_Console

Doc_Arduino:
Was in " " steht sollte eigentlich Text bleiben.

Es bleibt auch Text. Aber das wird erst mal durch den Bootloader geschleust und der kuckt nach ob drei mal ein Ausrufezeichen kommt.

Der Fehler ist bekannt, aber es ist unverständlich wieso man dieses "Feature" inzwischen nicht entfernt hat. Verwendet sowieso niemand.

Hallo,

aha, alles klar. Kleiner "Feature DE-CIX Knoten" drin ... :smiley:

Ist das nicht längst im aktuellen Bootloader repariert?

Natürlich ist es --wenn man's weiss-- leichter, "!!!" zu entfernen als einen neuen bootloader aufzuspielen.

Ah, dann hat man anscheinend es doch inzwischen entfernt :slight_smile:

Hallo,

das ist aber sicherlich kein Original Code von Arduino? Der "Bugfix" stammt von Nov. 2012. Der müßte doch wenn dann schon längst auf allen echten Arduino's von Haus aus drauf sein. Oder?

Ne ich benutzte den Freaduino Mega 2560, welche it dem Arduino Mega 2560 fast identisch ist.

Wann welcher bootloader aufgespielt wurde, ist bei “kompatibel” bzw. “fast identisch” immer eine ziemlich offene Frage.

Meine Megas (jaja, Chinesen) haben das mitunter auch.
Interessant daran ist übrigens, dass der Fehler auch dann auftreten kann, wenn in der Quelle nirgends drei Ausrufezeichen stehen- ich benutze dieses Rumgeschreie nämlich niemals.
Manchmal nämlich ergibt sich beim Compilieren diese Zeichenfolge dennoch (habs gad nicht im Kopf, aber ich glaub, im Hex-File steht dann irgendwo "212121"- da sucht man sich erst richtig dämlich, weil das aus dem Quellcode niemals ersichtlich ist!
Dort hilft dann nur eines: irgendwas in der Quelle ändern (nen Variablen-Namen z.B.) oder einfach noch ein, zwei Zeilen weiter zu schreiben, dann ergibt sich meist auch anderer Hexcode.