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
Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
02.03.2015, 10:31
Beitrag #1
Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Hallo,

ich hätte da ein kleines Problem. Der aktuelle Sketch auf meinem Arduino Uno löscht als erstes den EEPROM. Ich müsste jetzt allerdings den Sketch austauschen um die Daten aus dem EEPROM wieder auszulesen. Wenn ich den Arduino jetzt aber anschließen würde, würde er ja die Setup-Methode ausführen und den EEPROM leeren. Ich brauche aber die Daten, die da aktuell gespeichert sind. Gibt es eine Möglichkeit, einen neuen Sketch aufzuspielen, ohne das der aktuelle Sketch gestartet wird.

Vielen Dank im Vorraus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 10:57
Beitrag #2
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
(02.03.2015 10:31)Trisher schrieb:  Hallo,

ich hätte da ein kleines Problem. Der aktuelle Sketch auf meinem Arduino Uno löscht als erstes den EEPROM. Ich müsste jetzt allerdings den Sketch austauschen um die Daten aus dem EEPROM wieder auszulesen. Wenn ich den Arduino jetzt aber anschließen würde, würde er ja die Setup-Methode ausführen und den EEPROM leeren. Ich brauche aber die Daten, die da aktuell gespeichert sind. Gibt es eine Möglichkeit, einen neuen Sketch aufzuspielen, ohne das der aktuelle Sketch gestartet wird.

Vielen Dank im Vorraus

Hallo,

nach dem Aufspielen von einem neuen Sketch wird nicht mehr der aktuelle Sketch sondern der neue Sketch ausgeführt.
Wenn du im neuen Sketch das EEPROM in der Setup Routine nicht löschst passiert den Daten auch nichts.
Das Übertragen von einem neuen Sketch verändert die Daten im EEPROM nicht, sondern nur die im Programmspeicher.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 11:03
Beitrag #3
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Hallo Arne,
danke für deine Antwort. Das ist mir soweit klar. Das Problem, welches ich sehe, ist nur, dass sobald ich den Arduino an über USB anschließe er den alten Sketch ja noch ausführt, bis ich den neuen Sketch aufspiele. Ich suche nach einer Möglichkeit die Ausführung des alten Sketchs in dieser Zeit zu verhindern.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 11:11
Beitrag #4
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Du könntest mit einem Schalter an einem Binäreingang den Arduino in eine Endlosschleife schicken in der er nichts macht. Wenn man den Schalter dann umlegt führt er das normale Programm aus.
Natürlich darf dann wenn der Schalter so steht dass er in dieser Schleife läuft auch der Setup-Teil mit dem EEPROM löschen nicht ausgeführt werden.

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 11:28
Beitrag #5
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Das würde bedeuten, dass ich die aktuellen Daten nicht auslesen kann und erst in einer erneuten Ausführung die Daten dann auslesen kann. Aber das hatte ich auch schon überlegt, einen Knopf anzuschließen, der den EEPROM leert und erst dann startet. Aber das ist nur eine Lösung für das spezielle Problem. Allgemein suche ich eine Sketch-unabhängige Lösung, die eine Ausführung des aktuellen Sketchs verhindert.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 11:33
Beitrag #6
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Hi,
meiner Meinung nach könnte das mit dem Reset-Pin funktionieren. Das Ding beschalten und gedrückt halten (am besten keine Taste verwenden, sondern einen Schalter). Dann USB anschließen und den Upload starten. Jetzt warten, bis eine Fehlermeldung kommt und sich die Zeit merken. Beim nächsten Mal dann kurz vor der Fehlermeldung den Reset freigeben.
Ohne Gewähr...
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 15:08
Beitrag #7
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Ja, solange der Reset gedrückt / auf GND beschaltet ist wird kein Programm ausgeführt.
Sobald die Meldung "Uploaden..." kommt übernimmt den Reset der Onboard-Konverter des Uno und der Sketch wird übertragen.

Sobald du mal den ersten Sketch übertragen hast der das EEPROM nicht mehr überschreibt hast Du ja gewonnen. Das könnte z. B. der Standard Blink-Sketch sein.

... und beim nächsten Mal das Standard-Überschreiben des EEPROM nicht in die Start-Routine des Arduino ;-)
Das ist eh ungünstig da der EEPROM ja eine endliche Anzahl an Schreibzyklen kann und dann irgendwann mal kaputt geht. Das ist zwar schon eine ganz schöne Zahl aber mit beliebig vielen Reset's werden's auch beliebig viele Schreibzyklen.


Viel Erfolg
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.03.2015, 19:15
Beitrag #8
RE: Neuen Sketch aufspielen ohne aktuellen Sketch zu starten
Das heißt es reicht einfach ein Kabel zwischen dem Reset-Pin und dem Ground-Pin zwei Pins-weiter anzuschließen und dann das Kabel wieder abklemmen, wenn Uploading... kommt?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  2 Servos ohne delay steuern Ratlos 23 455 Gestern 21:49
Letzter Beitrag: MicroBahner
  LEDs ansteuern ohne Delay mir MIDI abfrage OnkelPelle 11 228 20.07.2017 22:35
Letzter Beitrag: hotsystems
  Brauche einen Sketch zum Testen HDT 12 502 22.06.2017 07:37
Letzter Beitrag: HDT
  LED blinken zeitversetzt starten Sky-Shadow 6 312 17.06.2017 15:12
Letzter Beitrag: Sky-Shadow
  Sketch ändern für ACS712 Sandro2504 3 221 04.06.2017 05:55
Letzter Beitrag: Bitklopfer
  arduino sketch Fuhsering 11 512 30.03.2017 12:47
Letzter Beitrag: hotsystems
Sad Sketch funktioniert auf dem Mega 2560 nicht Frank1234 16 798 26.03.2017 14:15
Letzter Beitrag: oOSpikeOo
  Probleme mit einem Sketch für einen LED Cube 5x5x5 Frank1234 5 373 13.03.2017 12:12
Letzter Beitrag: Tommy56
  Problem mit Sketch senden an Uno feuerwehr 5 736 31.01.2017 20:41
Letzter Beitrag: Tommy56
  Sketch geht,geht nicht? malsehen 0 345 25.12.2016 21:24
Letzter Beitrag: malsehen

Gehe zu:


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