Ich mache es kurz: avrdude -p m16 -c stk200 -P lpt1 -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m aus WINAVR, also der WINDOWS XP Pro Commandline setzt die Fuses und danach kann ich den ATmega 16 nicht mehr mit dem SPI ansprechen. Ich benutze an dem Laptop einen STK200 Programmer aus einem Starterkit und besitze auch ein STK500. Meldungen kriege ich keine mehr, weil meine 5 ATmega16 nun nicht mehr ansprechbar sind. Ich wollte eigentlich den JTAG abschalten, den internen Oszilator auf 1 MHz stellen und dann mit dem Servo Teil aus dem AVR Tutorial arbeiten. Ausserdem hatte ich bis vor etwa 20 Minuten noch vor, auch mal PWM auf dem STK500 auszuprobieren. Was stimmt mit den Fuse-Bit nicht ? Habe ich mich etwa ausgesperrt oder muß ich an diesem ominösen Takt zum Programmieren etwas einstellen. (Wie mache ich das aus AVR Dude heraus?) Gruß Johannes
Noob schrieb: > weil meine 5 ATmega16 nun nicht mehr > ansprechbar sind das heißt, Du hast 5 mal immer das gleiche falsch gemacht. Den Takt legst Du aus einer externen Taktquelle an. Gib mal bei der Suche "verfused" ein
du hättest einfach die Fuses aus AVR-Studio ändern sollen. Aber Dank STK500 solltest du wieder alle 5 retten können.
Habe ich glatt übersehen. HV Programier-Modus heißt das Ding
Danke, werde ich dann mal machen. Reicht es, wenn ich so einen 3646800 Hz Kasten mit 4 Beinen dran neben den Mega 16 in das Breadboard stecke ? Wenn ich Das richtig sehe, dann sollte doch bei der Fuse Einstellung wirklich nur das JTAG Interface ausgehen. Oder ist da schon ein Fehler ? Google schickt mich nach Eingabe der Zeile ab "-U lfuse:w:0xe1:m -U hfuse:w:0xd9:m" auf div. Seiten mit FUSE Calculator und die sagen, das nur das JTAG ausgeht (Häkchen weg) und RC Osz 1 MHz gewählt wird. Kann bitte für mich jemand mal die FUSE Einstellung prüfen ? Bitte, bitte, ... Sonst bin ich morgen noch dran nach Datenblatt die Register auf ein Blatt Papier zu malen und die Bitmuster von HEX nach Binär umzurechnen und dann zu rätseln in welcher Richtung High-Byte und Low-Byte gelesen werden. Es ist nicht so, das ich die Datenblätter nicht gelesen hätte ... Vielleicht habe ich ja nur ein Verständnisproblem. Schließlich hat es ja auch mehr als 3 Stunden gedauert, bis ich alle Beiträge zu "LED Flackern am AT Mega 16" hier im Forum gelesen und verstanden hatte. Dann kam erst der Versuch, das JTAG auszuschalten. Johannes
Hallo Johannes, Abundzu muss ich mal wieder ein neuse Batch schreiben, für den Serien-Programmier-PC bei mir im Betrieb. Also hatte ich auch Bedarf an Berechnung und wurde Fündig: http://www.engbedded.com/fusecalc Dieser Fuses-Rechner kann beide Richtungen berechen. Und die bisherigen Erfahrungen haben ihm recht gegeben. Ansonsten noch: Beitrag "AT90CAN128 verfust" MFG:MBP Markus
es kommt drauf an was man verfused hat, wenn man auf externen Quarzoszillator umgestellt hat geht es mit dem externen Takt wenn man auf Quarz umgestellt hat, muss man halt die Quarzschaltung mit Kondenstoren entsprechend aufbauen. Geh mal im AVR Studio auf die Hilfe AVR Tools->STK 500 User Guide->Hardware Description->Target Socket Section->Parallel High Voltage Programming dort ist alles zur Verkabelung beschrieben.
Laut dem verlinkten Fuse-Bit Calculator und auch mit dem AVR Studio (Man ist das umständlich. So eine Menge Programm. Das geht mit WINAVR besser) kommt der gleiche HEX-Wert für die Fuses raus. Ich habe mal einen Mega 16 wieder in den "Werkszustand" geflashed mit diesem HV Prog Gedöhne. Danach konnte ich den wieder mit dem AVR Studio lesen. Fuses geklickt: JTAG disable, Internal RC 1 MHz. Mit dem ISP Anschluß auf dem STK 500 den Mega 16 auf dem STK500 gefused und schon wieder nicht mehr ranzukommen. Was passiert da ??? Die ATmega 16 sind ca. 1 Jahr alt, lagen auf leitfähigem Schaumstoff im Teileregal und wenn ich nur einen Quarz mit 1MHz dranmache und den JTAG eingeschaltet lasse, dann klappen die. Irgendwie komme ich mir von der Technik verladen vor. Johannes
Normalerweise waren bei den AtMega16 früher mal die internen 1Mhz RC Oszilatoren im Lieferzustand aktiv. Die brauchte man nicht extra zu aktivieren.
vielleicht programmierst du zu schnell ich wähle generell 125 kHz also 1/8 des niedrigsten internen Taktes 1/4 also 250 kHz würde auch gehen aber ich geh auf Nummer sicher so lange dauert es ja nun auch nicht.
Und normalerweise sollte man die Fuses erst auslesen, bevor man daran Änderungen vor nimmmt.
Hallo Johannes, Wenn ich im AVR-Studio auf den Fuses-Tab klicke, OHNE, dass ein AVR am ISP-Kabel hängt, so bekomme ich eine Fehlermeldung. Soweit OK, ABER: Das was dann in der Fuses-Übersicht passiert ist kompletter "Blödsinn". Wenn man nun Fuses umstellt und flasht, so gäbe das also Mist. Fazit: 1.) Immer auf dem Main-TAB den gewünschten Controler einstellen, dann "Read Signature" anklicken. --> Meldung "Signature matches selected device" (oder so ähnlich) erscheint dann irgendwo. ==> Programmierverbindung erfolgreich geprüft. 2.) Nur an den Fuses im AVR-Studio umstellen bzw. flashen, wenn einem angesteckten Controller die Fuses ordentlich ausgelesen wurden. 3.) Ggf. hilft es auch noch, einfach den Controller nach einem Auslesen, vor dem Programmieren spannungslos zu machen. (STK500 ISP-Kabel zur Schaltung abziehen, bzw. Board ausschalten nicht vergessen - das STK liefet ja selbst Spannung.) Villeicht hilft das bei Deinem Problem. MFG:MBP Markus.
So, ich habe das Problem mit Hilfe meines Physiklehrers lösen können ... Der hat noch so einen uralten PC von Highscreen mit "echter Parallelschnittstelle", wie er sagt. Nun hat der natürlich auf den uralten Pentium mit 166MHz kein Windows, sondern so eine CD von tuxgraphics wo alle nötigen Sachen für die AVR Programmierung drauf sind. Der hat dann auf meinem Steckbrett mit dem STK200 Programmer und avrdude -p m16 -c stk200 -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m die Fuses gesetzt. Nun kommt der Hammer ... Das flackern der LED am JTAG Port war gleich danach aus und der ATmega16 ist noch ansprechbar. Auch die anderen 4 sind nun mit 1 MHz intern RC und JTAG aus geflashed ... und funktionieren immer noch. Keine Ahnung, was da der Unterschied zwischen meinem MSI-6380 Ver. 2 Motherboard und seinem Uralt PC ist. Aber die ATmega 16 laufen wie sie sollen auf meinem Steckbrett und ich hoffe das ich nun in den Ferien nach dem Lernen für die 2. Mathearbeit (Klasse 9 Realschule) auch mal endlich rausfinde wie das Zeitmessen für die Servoimpulse aus dem Empfänger geht. Ich will nur einen Kanal wissen und nicht 8 wie in den ganzen Beispielen. Johannes
Hallo Johannes, noob schrieb: > So, ich habe das Problem mit Hilfe meines Physiklehrers lösen können ... > > Der hat noch so einen uralten PC von Highscreen mit "echter > Parallelschnittstelle", wie er sagt. Die meisten neuen Parallelports basieren mittlerweile auf 3,3V. Villeicht meint er dass es sich bei seinem noch um einen mit 5V-Pegel handelt. Dieses Problem ist mir begegnet, als ich versucht habe, einen ICD2-Nachbau Programmer für PIC18 zu bauen. Ein leerer PIC benötigt dazu genau 1x eine Firmware, um ihn danach auf dem gebauten Programmmer einzusetzen. Leider klappte ein Quick&Dirty-Brenner nicht. Auf http://sprut.de/electronic/pic/brenner/index.htm habe ich dann die Ursache mit den 3,3V gelesen. Wenn Dein Problem aber auch mit dem STK500 auftritt, so kann das nicht die Ursache sein, denn das STK500 ist ja seriell. Abblockkondensatoren verwendest du ja hoffentlich auch auf Deinem Steckbrett. MFG:MBP Markus.
ja da gibts ja auch Treiber für leicht unterschiedliche Pegel HC und HCT.
noob schrieb: > ... und ich hoffe das ich ... auch mal > endlich rausfinde wie das Zeitmessen für die Servoimpulse aus dem > Empfänger geht Vielleicht kannst du dafür von diesem Projekt etwas abgucken. Das C ist alles andere als schön geschrieben, aber die Zeitmessung läuft. http://der-frickler.net/modellbau/avr/flightlight MfG
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.