Ich habe ein kleines Programm geschrieben, das mir Rechtecksignale verschiedener Frequenz auf Port B und D ausgibt (in 1-2-5 Schritten um die Kalibrierung eines Oszis zu prüfen). Da der interne Oszillator des ATmega dafür aber viel zu ungenau ist, habe ich einen externen 12.000 MHz Quarz auf dem STK500 verwendet. Hat auch alles super funktioniert. Da ich dann das STK für was anderes gebraucht habe, habe ich den ATmega samt Quarz auf ein Breadboard ausgelagert. Quarz zwischen PB6 und 7, 22pF Kondensatoren nach GND, 100nF zwischen VCC und GND, noch alles 2x geprüft, ob ich auch wirklich überall die richtigen Pins erwischt habe (werden ja im Prinzip nur 4 benötigt). Ich habe dann 5V angeschlossen und das Netzteil hat bei 30mA abgeriegelt (soviel sollte ein mega8 laut Datenblatt nicht brauchen). Ok, µC wieder zurück auf's STK, Quarz wieder dazugesteckt, eingeschalten -> läuft wieder wie zuvor. Dann wollte ich zu den Fuses schauen, merke aber, dass ich plötzlich per ISP keinen Zugriff mehr habe ("Entering programming mode.. FAILED!"). Ich habe dann umgesteckt auf "High Voltage Programming" und siehe da, es geht. Ich konnte ein neues Programm raufladen und die Fuses setzen. Aber egal was ich mache, ISP geht nicht mehr. Der Reset-Pin ist OK (reagiert auf Reset-Signal, RSTDISBL ist nicht gesetzt), auf allen Pins von Port B und D (ausgenommen PB[6:7] wegen Quarz) kommen die gewünschten Signale raus. Kann mir jemand sagen, was ich falsch gemacht habe? Ist da hardwaremäßig was kaputt gegangen?
Nein! Die war nicht gesetzt! Vor dem Ausbau war die sicher gesetzt, sonst hätte ISP ja nie funktioniert. Im ISP-Modus ist die Checkbox vor der Fuse immer leer und ausgegraut (wenn man AVR-Studio verwendet), und deswegen das leere Kästchen im HV-Modus für normal gehalten. So nebenbei habe ich "serial program downloading" falsch herum interpretiert. Ich dachte die ist dafür da, um ein Programm wieder auszulesen (Downloads landen normalerweise immer auf meinem Computer ;-). Aber jetzt die wichtige Frage: Wie konnte die Fuse bei meinem Aufbau überhaupt deaktiviert werden?
@ Chris O. (lupin_iii) >Aber jetzt die wichtige Frage: Wie konnte die Fuse bei meinem Aufbau >überhaupt deaktiviert werden? Genauso wie die restlichen Fuses deaktiviert wurden. Wahrscheinlich hast du durch Falschpolung den AVR bissel durchgekocht, dadurch und durch "vagabundierende" Ströme wurde der Flash und somit die Fuses gelöscht. Aber mit STK500 an der Hand ist das doch kein Thema. MfG Falk
Komisch, die anderen Fuses (z. B. externer Takt) und das Programm waren wie zuvor. Falschpolung war es ziemlich sicher nicht. Ich habe wie gesagt alles doppelt geprüft und bin mir ziemlich sicher, dass ich die vier Pins richtig hinbekommen haben. Obwohl, möglicherweise liegt genau hier (bei VIER Pins) das Problem: ich hatte beim ersten Test den zweiten Ground-Pin nicht verbunden. Ich habe den zum ADC gehörig interpretiert. Deswegen -> weglassen ;-) Muss der verbunden sein? (am STK werden einem solche Fragen ja blöderweise alle abgenommen)
AVVC und AGND müssen IMMER angeschlossen sein! Wenn der ADC nicht benötigt wird, direkt auf VCC und GND hängen.
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.