Hallo zusammen. ich versuch gerade ein kleines Mikrocontroller-Projekt umzusetzen. Hierbei möchte ich eine Spannung zwischen 0 und 5 Volt permanent am Eingang PA0(ADC0) eines Atmega16 einlesen und am Port C binär wieder ausgeben. Sobald ich aber das Programm über ein STK500 auf einen Atmega16 aufspiele, ist der Controller hinüber und ich kann nicht mehr darauf zugreifen. Hab so heute schon 2 Controller verheizt. Kann mir jemand sagen wo der Fehler liegt? Beste Grüße und danke.
Setzt Du eventuell irgendwelche Fuses so, dass externe Taktquellen konfiguriert werden, die in der Praxis nicht vorhanden sind? http://www.heise.de/ct/hotline/Fuse-Bits-falsch-gesetzt-321580.html
Chris N schrieb: > Sobald ich aber das Programm über ein STK500 auf einen Atmega16 > aufspiele, ist der Controller hinüber und ich kann nicht mehr darauf > zugreifen. Mit anderen Programmen funktioniert das Aufspielen?
Ich hab gelesen, dass man nach der Initialisierung 1x einen Einlesedurchgang starten soll. Diesen ersten Wert will ich mit dem (void) ADCW; auslesen und ins Nirwana befördern.
Bezüglich der Fuses: Ich hab alles original gelassen. Ich hab eben gerade auch noch ein paar alte Programme getestet und diese laufen ohne Probleme und kann auch nach dem Test wieder darauf zugreifen und diese überspielen.
Hallo
1 | ADMUX = (1<<REFS0); |
Was liegt am AREF pin an? Der darf nicht angeschlossen oder nur ein Kondensator dran sein. da1l6
Ich hab gerade am AREF Pin des Atmega16 gemessen und hab dort 6,25 Volt gemessen. Diese bekommt er über das STK500
>Ich hab gelesen, dass man nach der Initialisierung 1x einen >Einlesedurchgang starten soll. Diesen ersten Wert will ich mit dem >(void) ADCW; >auslesen und ins Nirwana befördern. 1. Setzen.
jibi schrieb: >> 6,25 Volt > > Hm das verträgt der ADC wohl nicht... Wenn ich den AREF Juper auf dem STK raus nehm hab ich nur noch 5.02 Volt. Keine Ahnung ob das mit der Spannung funktioniert. Hab jetzt leider nur noch einen Mikrocontroller zur Verfügung.
Das wird es wohl. Mit einem Progrmm kannst du einen Mega 16 nicht soweit lahm legen, dass du per ISP nicht mehr drann kommst. Trotzdem sollte man dem nachegehen, wo die 6.25V herkommen. Denn die sind so nicht in Ordnung.
Chris Neusi schrieb: > Ok. Ich versuch es jetzt einfach mal ohne den Jumper. > no risk no fun =) Letzten Endes bleibt dir eh nichts anderes übrig. Probier dann nochmal, ob die 'toten' Megas ohne die 6.25V an ARef vielleicht noch laufen. Mit ein bischen Glück hat es nur die interne Beschaltung des ARef Pins erwischt. Die Dinger sind ja eigentlich recht robust.
Hi
>Hab jetzt leider nur noch einen Mikrocontroller zur Verfügung.
Dann versuch mal über HV-Programmierung die anderen wieder zu
aktivieren.
MfG Spess
Wow. Es lat tatsächlich an dem AREF Jumper. =) Aber dafür musste ich leider feststellen dass mein Programm nicht so funktioniert wie ich es gerne hätte. Wollte gerade 5Volt über ein Poti auf den ADC0 geben in der Hoffnung dass bei 5 Volt alle 8 Ausgänge am PortC 1 haben sind und bei 0Volt alle auf 0 stehen aber leider flackern alle nur wie wild.
Chris Neusi schrieb: > Wow. Es lat tatsächlich an dem AREF Jumper. =) > > Aber dafür musste ich leider feststellen dass mein Programm nicht so > funktioniert wie ich es gerne hätte. Tja. Das soll vorkommen :-) Willkommen in der WElt der Programmierung, die uns Menschen immer wieder und eindringlich aufzeigt, wie wenig wir doch vom logisch folgerichtigen Denken verstehen und wie schlampig wir im täglichen Leben damit umgehen.
Am Programm liegt dein Problem sicher nicht, auch wenn es nicht das tun wird was du möchtest. Du solltest die Anleitung für das STK lesen. Dort steht das bei gesetztem AREF-Jumper AREF über das Programmiermenü HW-Settings einstellen. Dann darf allerdings REFS0 nicht gesetzt sein. Ob deswegen der Kontroller stirbt ist fraglich.
Aber ich denke, in dem Fall bist du unschuldig Mega16 und PORTC: Du musst das JTAG abschalten Entweder du gehst auf einen anderen Port oder du musst an die Fuses rann. Fuses einlesen JTAGEN umschalten (nämlich auf 'aus') Fuses schreiben
:
Bearbeitet durch User
Ok, danke für die ganzen Antworten und die Hilfe. Ich werd mich da morgen ein bisschen weiter dran spielen. Ach übrigens: Ohne den Jumper funktionieren auch die anderen Käfer wieder
Chris Neusi schrieb: > Ohne den Jumper funktionieren auch die anderen Käfer wieder Ja, das STK erkennt den Überstrom und schaltet ab, die Betriebs-LED erlischt. Der Jumper ist noch ein Relikt aus den frühen AT90Sxxxx Zeiten. Zieh in ab und schmeiß ihn ganz weit weg.
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.