ich suche momentan nach einer Lösung warum ich den ATmega2560 nicht über die oben genannte Schnittstelle programmieren kann. Der ATmega2560 sitzt auf einem Entwicklerboard und ich schließe die Kontakte der Schnittstelle wie folgt an:
Nun dürfte ich den Sketch ohne Probleme hochladen können, jedoch bekomme ich folgende Fehlermeldung:
Der Sketch verwendet 1482 Bytes (0%) des Programmspeicherplatzes. Das Maximum sind 253952 Bytes. Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 8183 Bytes für lokale Variablen verbleiben. Das Maximum sind 8192 Bytes. avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer Beim Hochladen des Sketches ist ein Fehler aufgetreten
Hier noch ein paar Infos:
schließe ich das Entwicklerboard per USB 2.0 zu USB Typ-B an, ist das Programmieren kein Problem
schließe ich RXD und TXD kurz und sende etwas über den seriellen Monitor, erhalte ich das Echo
Drücken des Resets beim Kompilieren und unmittelbar beim Hochladeprozess loslassen, keine Wirkung
deinstallieren und neuinstallieren der Treiber war ebenfalls erfolgslos
Hallo,
Du hast 2 Möglichkeiten einen originalen Arduino Mega 2560 zu programmieren...
Einmal über dessen USB-Buchse...
Einmal mit einem ISP-Programmer an den ICSP Pin´s
Gruß und Spaß
Andreas
Ich bin davon ausgegangen, es sei schon ein Bootloader drauf. Werde nochmal googlen und mich damit auseinandersetzen. Das mit dem 0,1uF Kondensator in Reihe werde ich ebenfalls probieren.
@skobymobil: Ich bin mir ziemlich sicher, dass das auch über die RX/TX Pins funktioniert
Richtig ist nur ein Nachbau, aber ich würde gerne lernen wie man mit der Schnittstelle umgeht, damit ich das später an einem ATmega2560, der auf einer Platine sitzt, umsetzen kann.
@ElEspanol: Ich dachte der DTR hält den Reset? Wofür steht 16AU?
"hält" ist genau das Problem, dagegen hilft der Kondensator.
Richtig ist nur ein Nachbau, aber ich würde gerne lernen wie man mit der Schnittstelle umgeht, damit ich das später an einem ATmega2560, der auf einer Platine sitzt, umsetzen kann.
Das doofe ist, dass du dann 2 USB-Serial Wandler am ATMega2560 hast.
Und das ist KEIN Bus. 3 Partner verboten. Nur 2 machen Sinn.
Einen davon, musst du nieder halten, den 16U2, im Reset halten, damit er nicht stört.
Ich schaue auf den Schaltplan vom Arduino Mega2560, da findest Du die Bezeichnungen, die ich verwende.
Dein Funduino Mega2560 hat zwei µCs auf der Platine: Den ATmega2560 und den ATmega16U2. Letzterer dient der Kommunikation mit USB und hängt an RX und Tx vom ATmega2560. Damit der Dir nicht dazwischenquatscht, mußt Du ihn dauerhaft mittels RESET2 an Pin 5 von ICSP1 auf GND legen.
Der Bootlaoder (der Funduino hat einen) benötigt zum Start einen Impuls auf RESET vom ATmega2560. Dazu nutzt Du den schon erwähnten Kondensator (siehe #3) zwischen DTR und RESET.
digita4lo:
... aber ich würde gerne lernen wie man mit der Schnittstelle umgeht, damit ich das später an einem ATmega2560, der auf einer Platine sitzt, umsetzen kann.
Dazu benötigst Du einen ATmega2560 mit Bootloader, wo kannst Du den erwerben?
Solltest Du nur einen nackten ATmega2560 erwerben können, kannst Du alle Versuche mit Rx/Tx vergessen. Aber dafür gibt es auch eine Lösung (Using an Arduino as an AVR ISP)