PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Uhrenquarz, Fuses, ATMega8L



Tido
01.12.2010, 20:47
Hallo,

nun habe auch ich endlich den ersten µC durch falsche Fuses unbrauchbar gemacht.
Ich habe viele Beiträge zum Thema Uhrenquarz am Atmega8 gelesen und anscheinend die falschen Schlüsse daraus gezogen.
Was war denn jetzt falsch???
-Am ATmega8L ist zws. TOSC1 und TOSC2 ein Uhrenquarz angeschlossen, keine Kondensatoren.
-Das Programm soll mit dem internen 1MHz laufen.

Fuses habe ich gesetzt auf

001001:Ext Low Freq. Crystal ... [CKSEL=1001 SUT=00]
CKOPT: 1

Nun wird er beim Programmieren nicht erkannt, bei den Fuses erscheint ReadLB-Fehlermeldung.
Leider konnte ich den ATMega bisher nicht wiederbeleben.

Bevor ich den nächsten vernichte, was muss denn nun eingestellt werden?

Hubert.G
01.12.2010, 21:03
Das sollte schon stimmen, allerdings läuft der Kontroller dann auch mit dieser Frequenz.
Zum Programmieren musst du mit dem Takt herunter auf max.8kHz.

Tido
01.12.2010, 22:03
Ja, er lebt noch, er lebt noch, er lebt noch... \:D/

Nachdem ich $crystal = 32768 gesetzt habe, ließ er sich wieder programmieren. Er läuft jetzt wieder mit den internen 1MHz.

Wie müssen denn die Fuses für 1MHz (int.) + Uhrenquarz sein?

Tido
02.12.2010, 07:46
Nachdem er jetzt wieder lt. Fuses auf 1MHz steht, lasse ich eine LED toggeln:
Do
Portd.5 = 0 'LED2, rot aus
Wait 1
Portd.5 = 1 'LED2, rot an
Wait 1
Loop

Sie blinkt im Sekundentakt.

Aktiviere ich die Softclock, so blinkt die LED nur noch alle 30 Sekunden, der Takt liegt jetzt also bei 32KHz, obwohl doch lt. Fuses die internen 1MHz verwendet werden sollen.

Wie kann ich das ändern???
Oder geht nicht beides gleichzeitig? Hintergrund: Es sollen noch zwei Servos angesteuert werden...

Hubert.G
02.12.2010, 08:57
Ich habe es selbst noch nicht ausprobiert, aber nach dem Datenblatt nach geht nur entweder Uhr oder 1MHz intern.
Es wird nur beiden Kontroller funktionieren bei denen TOSC und XTAL getrennt sind.

Carry
02.12.2010, 10:42
Wenn der interne Takt ausgewählt ist, können die Pins "XTAL1/TOSC1/PB6" und "XTAL2/..." ganz normal benutzt werden. Auch als Taktquelle für Timer2.

Grundsätzlich: Über die Fuses "Internal Oscillator" einstellen. Und dann über die entsprechenden Register Timer2 auf asynchron stellen. Dann hat man z. B. 1Mhz fürs System und 32khz als Takt für Timer2.



Carry