AVR reagiert nach Fusebit setzten nicht mehr

Gast #107378
Hallo,
hab schon wieder ein Problem und zwar hab ich die Fusebits so gesetzt,
wie im Tutorial beschrieben und jetzt reagiert der ATMega8 nicht mehr.
Ich hab irgendwo im Forum gelesen, dass es einen Unterschied macht, ob
man einen Quarz mit 2 oder 4 Beinen angeschlossen hat. Wenn ja, wie
geht es richtig?
Gruß
Martin
Gast
und im datenblatt steht auch unter "system clock and clock options"
recht genau wann man was einstellen sollte. und ja, zwischen solchen
mit 2 und 4 beinen ist ein unterschied. das eine sind quarze (2 beine),
das andere quarzoszillatoren. und jetzt erstmal ab ans datenblatt lesen
Gast
Ich habe ja einen externen Oszillator mit der Frequenz 4Mhz, warum sind
dann CKSEL1..3 nicht gesetzt? Im Tutorial wird ja auch ein externer
Quarzoszillator verwendet.
Gast
Ich HAB im Datenblatt nachgelesen, und ich hab es auch wie im Tutorial
beschrieben gemacht, aber Fakt ist, dass sich der AVR nicht mehr
ansprechen lässt. Weisst du vielleicht sonst noch etwas, was ich falsch
gemacht haben könnte? Hast du dir schonmal das Bild weiter oben
angeschaut? So hab ich es gemacht, ist das falsch?
Gruß
Martin
Gast
Hallo !

Ich lese mich gerade in das Buch "AVR" von Roland Walter ein.
Dort steht auf Seite 37 folgende Bemerkung:

..Noch gemeiner ist das Fus-Bit RSTDISBL (ResetDisable). Damit wird der
Reset-Eingang abgeschaltet und als normaler I/O-Pin PC6 frei. Weil eine
SPI-Programmierung aber stehts mit einem Reset-Impuls eingeleitet wird,
müßten Sie nach einer Änderung des RSTBISBL-Bits Ihren AVR (Anmerkung:
mega8)erst einmal beiseite legen. Das Zurücksetzen dieses Bits ist nur
im Parallel-Brennmodus möglich. Das STK 500 beherrscht diesen
Brennmodus...

Ich hoffe, Sie kommen damit weiter.
Gast
Hi Luhmer,

>Das STK 500 beherrscht diesen Brennmodus...
trotzdem kann man sich in so einem Fall leicht und fast umsonst
auch selberchelfen. WENN man nicht nur gerade einen EINZIGEN Mega8
besitzt:

http://www.e-lab.de/phpBB2/load.php?id=9

Damit habe ich schon einige Mega8 durch den High Voltage Parallel
Programming Mode wieder aktivieren können.

Schöne Grüße
Gunter
Gast
"Ich hatte den Quarzoszillator and XTAL1? anstatt XTAL2
angeschlossen."
laut tutorial soll der taktgeber doch an XTAL1 - oder seh ich falsch?
ciao peter
Gast
@luhmer:
die angaben wie man den reset-pin wieder umdefiniert stehen sehr genau
schritt für schritt im datenblatt des jeweiligen uC. alles was man
braucht ist ein anderer controller und ein bisschen zeit - braucht man
allerdings nur falls sich nicht jmd vorher schon die arbeit gemacht hat
aber kann ja mal sein, dass man nichts findet

@demerzel:
nein, siehst du nicht
Gast
@tobi Darf ich dich noch was fragen, will deshalb keinen neuen Thread
aufmachen:

.include "4433def.inc"       ;Definitionsdatei einbinden, ggf. durch
                             ;2333def.inc ersetzen

         ldi r16, 0xFF       ;0xFF ins Arbeitsregister r16 laden
         out DDRB, r16       ;Inhalt von r16 ins IO-Register DDRB
ausgeben
ende:
         ldi r16, 0b11111000 ;0b11111100 in r16 laden
         out PORTB, r16      ;r16 ins IO-Register PORTB ausgeben

         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop
         nop


         ldi r16, 0b00000000
         out POrTB, r16

        rjmp ende           ;Sprung zur Marke "ende" ->
Endlosschleife

Eigentlich müssten die angeschlossenen LEDs blinken oder? Weil nop
verzögert doch das Programm?
Gast
mach einfach 2 verschachtelte schleifen. eine bis 255 und eine bis ca.
10. dass ist übersichtlicher und besser anpassbar. spätestens wenn du
mal was mit schnellerem takt machst wird das mit nop's unhandlich.
lieber gleich richtig angewöhnen :)

ach ja, ausserdem schaltest du sofort nach dem ausschalten wieder an.
besser sichtbar wird das blinken noch wenn du auch nach dem zweiten out
eine pause einfügst
Gast
so z.b. einfach anstatt der nop's einfügen. ein bisschen mit dem wert
in r17 rumprobieren um zu gucken was du brauchst

      push r16
      push r17
  ldi r17, 0x05
loop1:
  ldi r16, 0xff
loop2:
  dec r16
  brne loop2
  dec r17
  brne loop1
      pop r17
      pop r16

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.