Uno lässt sich nicht mehr neu programmieren

Ich wollte mir die Verwendung von EEPROM genauer ansehen und habe deshalb von den Beispielen erst den Sketch "EEPROM write" und dann den Sketch "EEPROM read" auf meinen Uno geladen. Da das Lesen der Werte für meinen Geschmack zu lange dauerte habe ich in Zeile 38 aus delay(500) delay(100) gemacht. Offensichtlich ist 100 ein zu geringer Wert gewesen, denn wenn ich jetzt den Arduino per USB mit dem PC verbinde leuchtet die TX Led dauerhaft und wenn ich versuche den Serial Monitor zu öffnen oder ein neues Programm zu laden, bekomme ich einen Fehler, der mir sagt, dass ich den richtigen seriellen Port auswählen soll. Im "Tools"-Menü ist der Eintrag "Serial Port" allerdings ausgegraut.

Hast du deinen Pc mal neugestartet? Im Moment ist halt das Problem dass der Arduino den Com-Port belegt, weil er dauerhaft Werte sendet.

Bis jetzt habe ich noch nicht den PC neu gestartet. Da aber ein zweiter Uno (von meinem Bruder :) ) am selben Com Port (USB) sich ganz normal verhält, wüsste ich nicht, was das bewirken soll. Ich werds trotzdem versuchen.

Ich habe bisher festgestellt das 2 verschiedene Arduino 2009 auch zwei verschiedene Com-Ports zugewiesen bekommen !

Z.B. Com3 und Com4.

Das Rebooten brachte nicht allzuviel. Für kurze Zeit blinkten die TX und die RX LED, allerdings brachte der Versuch in diesem Zeitraum "Bare Minimum" zu laden oder den Serial Monitor zu öffnen wieder den gleichen Fehler :(

ch habe bisher festgestellt das 2 verschiedene Arduino 2009 auch zwei verschiedene Com-Ports zugewiesen bekommen !

Richtig, ich arbeite manchmal mit 4 Arduinos gleichzeitig am Hub, und jeder hat seinen COM, weshalb ich alle aus einer IDE bespielen kann.

Das Rebooten brachte nicht allzuviel. Für kurze Zeit blinkten die TX und die RX LED, allerdings brachte der Versuch in diesem Zeitraum "Bare Minimum" zu laden oder den Serial Monitor zu öffnen wieder den gleichen Fehler

Wusste ich nicht, dass du einen zweiten zur Verfügung hast.

Versuch mal den Arduino anzustecken, und ca 1sek nachdem du "Upload" auf der Ide gedrückt hast, den Arduino zu resetten. Wenn das Timing stimmt, resetten der Arduino und bekommt danach das neue Programm (BlinkLed oder so) bevor der fehlerhafte onboard-code gestartet wird.

Tip: Ich lade bevor ich den Arduino weglege immer erst das Blinkwithoutdelay in den Arduino. Damit der Arduino bei einem neuen Schaltungsaufbau nicht mit dem falschen Sketch die neue Schaltung steuert.

Versuch mal den Arduino anzustecken, und ca 1sek nachdem du “Upload” auf der Ide gedrückt hast, den Arduino zu resetten. Wenn das Timing stimmt, resetten der Arduino und bekommt danach das neue Programm (BlinkLed oder so) bevor der fehlerhafte onboard-code gestartet wird.

Sehr gut, hatte wohl viel Glück und es hat auf Anhieb funktioniert. DANKE! [smiley=thumbup.gif]

edit: Ich hatte vorher schon versucht zuerst zu resetten und dann das Programm zu laden oder auch beides möglichst gleichzeitig, aber auf die Idee erst den Button zum Laden zu klicken und dann zu resetten kam ich nicht

Freut mich dass er wieder geht :wink:

Nur zur generellen Info: Ganz am Anfang hatte der Arduino keinen Autoreset, also war dieser Weg der einzige neuen Code auf den Chip zu bekommen :smiley:

Ganz am Anfang hatte der Arduino keinen Autoreset, also war dieser Weg der einzige neuen Code auf den Chip zu bekommen

Darüber habe ich auch schon gelesen, aber ich dachte man müsste den Resetbutton kurz vorher drücken. Wer konnte ahnen, dass es dabei so aufs Timing ankommt ;D

In deinem Fall ist das Timing insofern wichtig, weil die Anfrage "neuer Code" genau zwischen Bootloader "hochgefahren" und "starten von altem fehlerhaften Code" liegen muss.

Sonst ist das natürlich nicht so kritisch ;)