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
  Sketch vom Arduino Board Herunterladen Sarius 2 341 27.07.2016 15:26
Letzter Beitrag: Sarius
  Sketch konnte nicht angelegt werden Sarius 2 237 16.07.2016 15:59
Letzter Beitrag: Sarius
  PID ohne Library MeisterQ 5 521 01.05.2016 09:23
Letzter Beitrag: MeisterQ
  SHT21 in Sketch integrieren PrinzEisenherz1 6 589 06.04.2016 14:38
Letzter Beitrag: PrinzEisenherz1
  nur ein URL aufruf ohne PHP toto1975 3 600 05.04.2016 08:26
Letzter Beitrag: iks77
Question Arduino Pro Micro verlangt keyboard.h im sketch weinema 0 308 01.03.2016 19:04
Letzter Beitrag: weinema
  Sketch läßt sich nicht hochladen - not in sync Stephan_56 20 1.766 17.01.2016 23:00
Letzter Beitrag: Bitklopfer
  Sketch VOM Mega IN die IDE holen? torsten_156 9 703 05.01.2016 15:41
Letzter Beitrag: René Hitz
  LED-Fade Sketch Hilgi 6 746 14.12.2015 11:00
Letzter Beitrag: Hilgi
  8x7 Segment LED Anzeige / Sketch verändern w1ck3d 3 638 23.11.2015 17:56
Letzter Beitrag: hotsystems

Gehe zu:


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