Bin vor kurzem in die Welt der Microcontroller eingestiegen mit einem Atmega 8-16. Hab mir auf eine Rasterplatine eine 5V Spannungsversorgung (mit 7805) gelötet (und die funktioniert auch) und dann nach Jespers-Anleitung die vier Ausgänge des µC (MISO, MOSI, RESET und SCK) über 4 Widerstände mit einem Sub-D Stecker verbunden. Zusätzlich noch Pin 18 des Sub-D Steckers an Masse gehängt und Pin 15 mit Pin 5 kurzgeschlossen. Der µC selbst hängt auch an Masse und Spannung und der Reset Pin ist über einen Widerstand an +5V und über einen Kondensator an Masse. Eigentlich alles so, wie es im Tutorial beschrieben ist. Dann Yaap und den IO-Treiber installiert, angeschlossen und nichts wird erkannt. Dazu ist zu sagen: - Da ich gerade keine 4 100 Ohm Widerstände hatte, habe ich zwischen ISP-Anschluss und Sub-D Buchse Widerstände zwischen 68 und 190 Ohm genommen. - Ich verbinde die Sub-D Buchse über einen USB/Seriell-Wandler mit meinem Notebook. Der Wandler an sich funktioniert. Kann es sein, dass der Controller nicht erkannt wird, weil die vier Widerstände leicht abweichen? Kann es sein, dass das irgendwas mit dem USB-Wandler zu tun hat? Muss ich vielleicht irgendwo irgendwelche Einstellungen vornehmen? Wie gehts weiter?
>Kann es sein, dass das irgendwas mit dem USB-Wandler zu tun hat?
Jep. Funktioniert in den wenigsten Fällen mit USB-Wandlern. Diese
Minimalinterfaces sind nur für richtige Ports gedacht.
Würde es denn mit meinem USB-Wandler funktionieren, wenn ich dieses 74HC Teil dazwischenhänge, wie in folgendem Bild: http://www.myplace.nu/avr/yaap/if_dongle.gif ?
Nein. Das IC hat zwei Funktionen: 1. Schützt es den Port des PCs; bei einem Kurzen ist nicht gleich der PC-Port im Eimer. 2. Ermöglicht es, den Programmer nach dem Programmieren am Target angeschlosseen zu lassen. Auf den USB-Seriell-Wandler hat es aber keinen Einfluss.
Das Teil bringt dir garnichts. Sorry, aber das kannst du ohne echten Com-Port alles völlig vergessen. Das Problem liegt an der Art wie USB mit seinen Geräten kommuniziert - Die dort vorhandenen Geräte werden alle paar ms abgefragt oder mit Daten gefüttert, ganz im gegensatz zu RS232 wo die Daten verzögerungsfrei direkt Ontour geschickt werden. Letzteres ist allerdings beim händischen Programmieren eines Microcontrollers zwingend erforderlich da die Timings beim Senden und Empfangen akribisch genau eingehalten werden müssen, oder es gibt Fehler. Die 2-3ms die der USB-Controller verplempert bis was passiert sind da eine halbe ewigkeit. Umgehen kann man das leider nicht, dafür ist USB auch nicht ausgelgt. Dieses elende nervtötende gefrickel mit irgendwelchen Halbseidenen Passivadaptern und deren Software ist eh sone Krankheit bei Neulingen, dabei gibt es nen ganz offiziellen aktiven ISP-Programmieradapter für USB (1) von Atmel für 40 Ocken inklusive kostenloser IDE mit allem nötigen, mit der man sich das ganze rumgeärgere sparen kann. Ich war auch auf dem Holzweg, und hab unnötig viel zeit mit dem Mist verschwendet, mit den offiziellen Sachen gings dann auf Anhieb und ich hab mir in den Arsch gebissen warum ichs nicht gleich so gemacht hab, und ich habs wirklich nicht mit dem Geld. (1) http://shop.embedded-projects.net/product_info.php/info/p22_Atmel-AVRISP-mkII--USB-.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.