Go Down

Topic: Arduino mit angeschlossenem seriellem Anschluss programmieren (Read 396 times) previous topic - next topic

HotSystems

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

stef308

Zuerst einmal, vielen Dank für die vielen Inputs! Das sind wirklich super viele und alles gute Ideen!

@HotSystems: Das ist wahr mit dem Bootloader, habe ich auch schon paar Mal festgestellt! Da ich bei diesen Boards aber immer über ISP programmiere ist mir das egal, oder besser gesagt habe ich das Problem ausgeblendet... Guter Hinweis!
Anders herum, wenn ich über ISP den Arduino programmiere, dann ist das ja egal, ob der einen Bootloader hat oder nicht. Falls ich diesen Arduino dann mal per USB programmieren wollte, so könnte ich ja einfach wieder über das Menü in der IDE den passenden Bootloader wählen und hochladen. Dann funktioniert es ja wieder.

@senseman: So einen Kippschalter habe ich gar nicht gewusst, dass es sowas auch mit zwei parllelen Reihen gibt! Das ist gut zu wissen, vielen Dank! Damit würde die unterbrechung der TX und RX Leitung mit einem Kippschalter wie gewünscht funktionieren.

Die Idee von Combie ist aber auch recht gut! Damit spart man sich den Schalter, die TX und RX Leitungen werden nicht unnötig länger und es ist genauso einfach wie einen Schalter einzubauen.

@Combie: Wenn ich das richtig verstanden habe, muss im entsprechenden Ordner eine Textdatei "platform.local" mit der aufgeführten Zeile gespeichert werden. Wo zeigt mir die Befehlszeile an wo ich das ablegen muss? Wie kann ich das sehen, ohne zuerst den Bootloader beim Upload zu zerschiessen um den Speicherort zu wissen?
Die Variante mit dem 16u2 des USB neu zu flashen mit dem Hoodloader2 ist mir nicht so ganz klar was mir das bringt. So wie ich verstanden habe, ermöglicht der Hoodloader die Verwendung des 16u2 auch für andere Dinge als nur den Nutzen des USB Ports. Also als zweiter Mikrokontroller nebst dem 328/2560. In wie fern mir das hilft über das USB Kabel gleichzeitig einen Upload des Sketches zu machen und die serielle Verbindung eingesteckt zu lassen ist mir nicht ganz klar.
In Anbetracht des "einfachen" Ergänzens einer Zeile als TXT und dann aber den Upload über Programmer funktionsfähig zu haben ist mir lieber. Da hat man meiner Meinung nach viel mehr davon, auch für andere Boards!

combie

Quote
@Combie: Wenn ich das richtig verstanden habe, muss im entsprechenden Ordner eine Textdatei "platform.local" mit der aufgeführten Zeile gespeichert werden.
Ja.


Quote
Wo zeigt mir die Befehlszeile an wo ich das ablegen muss?
Habe ich das gesagt?
Nööö....

Meine Worte waren:
Quote
Wenn man die ausführlichen Meldungen beim kompilieren aktiviert, zeigt die IDE, welche Hardwaredefinition sie verwendet, und dort muss diese platform.local.txt angelegt werden.
Quote
Wie kann ich das sehen, ohne zuerst den Bootloader beim Upload zu zerschiessen um den Speicherort zu wissen?
In dem du das Zielgerät gar nicht anschließt.
Die Meldung, dass dann der Upload versagt, wirst du dann tolerieren müssen/können.


--

Ich hoffe, dass jetzt alle Klarheiten beseitigt sind.
Der Verstand, und die Fähigkeit ihn zu gebrauchen, sind zweierlei Fähigkeiten.

stef308

Ich habe das mal versucht ohne den Arduino anzuschliessen mit dem Programmer hochzuladen.
Die ersten zwei Zeilen in der Ausgabe sind sehr lange Pfade nehme ich an. Danach nach diesen zwei langen Zeilen kommt:

Code: [Select]
Using board 'mega' from platform in folder: xxxx
Using core 'arduino' from platform in folder: xxxx


Danach kommt dann detecting libraries und die Kompilierung des Sketchs.

Das heisst in diesem Pfad den ich mit xxxx gesetzt habe, dort muss ich die TXT Datei mit dieser Zeile anlegen. Die platform.txt aber drin lassen. Richtig?

Muss ich dann direkt mal testen ob das mit dem Bootloader nun klappt :-)

combie

Quote
Richtig?
Es ist völlig ok, wenn du mir nicht glaubst.
Selbst nach dreimaliger(?) Wiederholung.....

Bitte hier lesen und synchron mitmeißeln.

Der Verstand, und die Fähigkeit ihn zu gebrauchen, sind zweierlei Fähigkeiten.

stef308

Ich glaube dir nicht nicht, aber ich sehe keinen Unterschied bei der Benamsung. Es zeigt genau das gleiche an "...from platform in folder:"
Werden einzelne Änderungen einfach angewendet aber nicht angezeigt?
Ich versuche heute Abend mal mit dem Arduino irgendeinen Sketch draufzuladen und versuche dann per USB erneut zu laden. Wenns geht ist ja alles bestens :-D

Ich danke dir! Der Link ist übrigens trotzdem sehr interessant mal zu studieren ;-)

combie

Quote
Ich glaube dir nicht nicht, aber ich sehe keinen Unterschied bei der Benamsung. Es zeigt genau das gleiche an "...from platform in folder:"
Es ist doch weiterhin der gleiche "folder".
Keine meiner Beschreibungen sagt, dass sich der "folder" ändert, oder das du ihn umbenennen sollst.

Oder?
Der Verstand, und die Fähigkeit ihn zu gebrauchen, sind zweierlei Fähigkeiten.

stef308

Ich dachte weil er ja sagt "from platform" in folder, dass da jetzt eine Position wäre "from Platform.Local" in folder.
Aber wird schon passen!

stef308

Ich habe nun die ISP Programmierung mit dem Textfile von Combie erfolgreich durchführen können! Auch das Hochladen per USB danach kein Problem! Vielen Dank an dieser Stelle nochmals, das hätte ich schon länger gut gebrauchen können. Endlich muss ich nicht immer den Bootloader neu aufspielen :)

Da ich das ganze auch gleich für mein System getestet habe, bin ich mir nun mit der LED Statusanzeige nicht ganz sicher...
Ich möchte einen UNO und einen MEGA per ISP verdrahten um die serielle Verbindung nicht dauernd zu trennen. Auch muss ich mit meinen Leitungen durch einen Slipring gehen. Dieser hat aber nur 8 der erforderlichen 10 Leitungen noch frei. Nun habe ich mir gedacht, ich schliesse dann einfach GND und Reset vom UNO und MEGA jeweils zusammen an einen Kontakt an den Slipring und teile den Kontakt danach am andern Ende dann einfach wieder auf zwei ISP Programmer auf. Die anderen Leitungen sind jeweils an einem Kontakt dran und gehen zum jeweiligen ISP Programmer. Hier noch ein Bild zur Verdeutlichung. Die GND und Reset Leitungen sind jeweils zusammengeschlossen.

Nun habe ich das auch mal getestet und es schien am Ende zu funktioneren. Am Anfang hat die orange Status LED des UNOs entweder ganz schwach geleuchtet oder war ganz aus. Ich vermute mal es war ein Kontaktproblem mit meinen Dupontsteckern. Ich hatte ein ähnliches Problem schon einmal, als es wie ein Fehler aussah, nach korrekter Verkabelung aber einwandfrei funktionerte. Nach dem zweiten Upload und nochmaligem trennen der externen Stromversorgung, danach wieder angeschlossen, leuchtete die orange LED des UNOs wieder dauernd wie normal. Habe dann ein drittes Mal den Upload über ISP gemacht und die LED leuchtete wie gewohnt.

Hat das schonmal jemand versucht? Sollte so funktionieren oder? Es ist natürlich auch immer nur ein Programmer am PC angeschlossen um zu programmieren.

Go Up