ich versuche, einen Mikrocontroller per Arduino ISP zu programmieren, aber der Upload schlägt fehl. Hier sind die relevanten Ausgaben aus der Konsole:
Sketch uses 21246 bytes (64%) of program storage space. Maximum is 32768 bytes.
Global variables use 480 bytes (23%) of dynamic memory, leaving 1568 bytes for local variables. Maximum is 2048 bytes.
Error: protocol expects OK byte 0x10 but got 0x14
Error: cannot obtain SW version
Error: initialization failed (rc = -3)
- double check the connections and try again
- use -B to set lower the bit clock frequency, e.g. -B 125kHz
- use -F to override this check
Error: protocol expects sync byte 0x14 but got 0x01
Failed programming: uploading error: exit status 1
Ich habe bereits die Verkabelung überprüft, aber das Problem bleibt bestehen.
Hat jemand eine Idee, woran es liegen könnte oder wie ich das Problem lösen kann?
Dann zeig doch mal deinen Aufbau, wie du flashst.
Und eine Schaltung nach der du es aufgebaut hast.
Und welchen Controller hast du in der IDE gewählt ?
Mit welchem Programmer versuchst du es ?
Hast du am Programmer einen 10yF Elko zwischen Reset und GND ?
Das sagt nichts über deinen Aufbau aus. Wir brauchen das Bild und deine Schaltung.
Und welchen Controller du gewählt hast und welchen du zum Programmieren verwendest.
Einfach mal Fragen richtig beantworten.
Hier mal ein Bild, wie ich anfangs die Dinger geflasht habe:
Wenn du den ersten Versuch Ohne 10 µF zwischen R und GND gemacht hast, solltest Du sicherheitshalber zuers nochmals den Arduino as ISP Scketch auf deinen als Programmierer arbeitenden Arduino laden, denn evt. wurde wegen des Fehlenden Kondensators der als Programmer agierende Arduino umprogramiert.
Also zuerst nochmals den ISP Scketch auf den Programmer Arduino aufspielen.
Dann an diesem den Kondensator zwischen R und GND anschliessen . Und danach versuchen Deinen MikroController zu flaschen.
Dass ohne Kondensator, beim Versuch einen Mikrokontroler zu programieren der ISP-Skech auf dem als Programmer wirkenden Arduino beschädigt wird, passiert vor allem dann, wenn diese Arduino den selben Kontrollertyp (gleiche signatur) besitzt, wie der den Du flaschen möchtest. Und in dem Zustand funktioniert der Programmer arduino dann nicht mehr und Du kanst damit keinen Controller mehr erfolgreich flashen, bis der ISP Skech auf dem Programmer-Arduino neu aufgespielt wurde. Das ist zumindest Meine Erfahrung, die ich mit vergessenem Kondensator gemacht habe. Wichtig ist auch: Zum aufspielen des ISP Sketch darf der Kondensator NICHT angeschlossen sein, da der Arduino damit nicht in den Programmiermodus geht. Aber danach den Kondensator gleich anschliessen, um genau das zu verhindern, nämlich das der Porgrammer-Arduino in den Programmirmdus geht. Das ist dIe Aufgabe dieses Kondensators und deshalb ist der bei der Nutzung eins Arduinos als ISP Programmer so wichtig.
Dankeschön. Ich wollte, nachdem ich gelesen hatte 'Ich habs jetzt auch mit dem Kondensator probiert, hat aber auch nicht geklappt', dass er verstehen kann, dass der Kondensator eben keine Option ist, die man nehmen kann, falls es mal ohne nicht geht, sondern dass dieser ebenein absolutes 'must have' ist. und was der genau bewirkt. Und ebenso auch, dass er verstehen kann, warum es mit dem nachträglich erst nach einem oder mehreren Versuchen ohne nicht mehr klappen kann, weil er sich ja den ISP Scketch abeschossen hat. Wir 'Alten Hasen' kennen ja diese Zusammenhänge, einem vlt. eher Neuling oder einem der das zum ersten mal macht, ist das vlt nicht so bewusst bis es ihm mal einer klar erklärt. Und manchmal hab ich halt grad auch die Zeit, es etwas ausführlicher zu erklären, und dann tue ich das.
Das sehe ich auch so.
Leider ist immer wieder das größere Problem, dass Fragesteller immer seltener genaue Informationen liefern. Mit denen wäre sicher eine genauere und schnelle Hilfe möglich. Und selbst bei Rückfragen wird das ignoriert.
Ja da hast Du wahr. Nun nachdem Du den TO nach dem Cap gefragt hast und ich dann die Antwort, besonders die Art der Formulierung ,gelesen habe, wusste ich dass der TO absolut nicht begriffen hat, was da vor sich geht, wie das Flashen abläuft, oder wozu der Cap überhaupt da ist und auch benötigt wird. Mein erster Gedanke war 'der hat keine Anhnung , was er da tut, der muss erstmal die Basics bedreifen' und das, obwohl er (angeblich) nach einer Anleitung gearbeitet hat.
Kommt aber auch etwas auf die Anleitung an sich an, wie Ausführlich diese ins detail geht und die Zusammenhänge erklärt, sowie natürlich auf den Lernwillen des Anleitugs Lesenden (oder eben nur Überfliegenden) Du hast natürlich auch recht , die beste und ausführlichste Anleitung ist völlig für die Katz, wenn sie nicht wirklich gelesen und durchgearbeitet sowie verinnerlicht wird.
Hey, vielen Dank für all die Tipps, die ihr mir gegeben habt. Ich schätze eure Mühe und den Aufwand, den ihr in eure Nachrichten gesteckt habt, wirklich sehr.
Der Grund, warum ich die Nachrichten ignoriert habe, war, dass ich momentan wenig Zeit hatte, um sie alle in Ruhe durchzulesen. Meine ungenauen Angaben kamen eher aus Frust, weil das Projekt nicht funktioniert hat und ich zuvor noch nie versucht hatte, einen externen Mikrocontroller zu programmieren bzw. mich in meiner Freizeit damit auseinanderzusetzen. Es handelte sich um ein Hardware-Projekt, in das ich für die Schule sehr viel Mühe und Zeit gesteckt habe – insbesondere in das PCB-Design. Ehrlich gesagt wollte ich mich nicht wirklich mit dem Programmieren auseinandersetzen.