Forum: Mikrocontroller und Digitale Elektronik Atmega8-16PU takt


von Argon (Gast)


Angehängte Dateien:

Lesenswert?

Mahlzeit werte Mitglieder,

ich habe heute meinen neuen Atmega8-16PU erhalten und muss dazu sagen, 
dass ich noch recht neu bin, was µC betrifft.
Euer Tut über Fuses habe ich nicht ganz verstanden, um ehrlich zu sein.

Ich möchte den Internen Takt benutzen.
Doch stimmt dieser wie so oft leider nicht (menschliches Versagen =) ).

Ich programmiere per USBasp über die ISP Schnittstelle, hat auf anhieb 
geklappt.

Wollte nun mal eine LED in einer Dauerschleife blinken lassen , mit 
einem Delay von 1000ms.
Diese 1000ms dauern aber ziemlich genau 8sek! = Takt durch 8 geteilt.

Programmieren tue ich in C unter WinAVR.
Übertragen wird das ganze über AVRDude mit dem AVRBurner GUI.

Im Bild sieht man, welche Fuses eingestellt sind bzw. seit der Lieferung 
eingestellt waren.

"Normale" Atmega8 haben einen DivFuse, welches dieser ja nicht hat.
(Also liegt es nicht an den Fuses?)

Im Makefile ist es egal ob ich 8MHz oder 16MHz angebe!
Muss ich sonst noch irgendwo im Quellcode die Frequenz angeben?

MfG.

von abc.def (Gast)


Lesenswert?

Ratespielchen:
Offensichtlich weiß Dein System, daß es 1MHz Takt gibt. Zur Verwirrung: 
Ich habe Beispiele gesehen, die den Takt im makefile definieren oder 
auch im main.c. Es gibt den F_CPU und den F_OSC. Dein Befehl Delay nimmt 
nun wahrscheinlich den anderen, um die Anzahl Warteschleifen-Durchläufe 
zu berechnen.
Da weitere Angaben fehlen, kann ich nur sagen:
Suche weiter, Du wirst es schon finden.

von spess53 (Gast)


Lesenswert?

Hi

>"Normale" Atmega8 haben einen DivFuse, welches dieser ja nicht hat.
>(Also liegt es nicht an den Fuses?)

Es gibt kein anormalen ATMega8. Und die haben keine CKDIV-Fuse. Im 
Auslieferzustand läuft der ATMega8 mit 1MHz. Andere Frequenzen müssen 
per Fuses eingestellt werden.

MfG Spess

von Peter II (Gast)


Lesenswert?

Argon schrieb:
> Im Makefile ist es egal ob ich 8MHz oder 16MHz angebe!
> Muss ich sonst noch irgendwo im Quellcode die Frequenz angeben?

das kann nicht sein, dann überträgst du das falsche Programm oder hast 
F_CPU mehrfach irgendwo festgelegt.

von Argon (Gast)


Angehängte Dateien:

Lesenswert?

Also die F-CPU habe ich sonst nirgends eingestellt!

Laut:
http://www.engbedded.com/fusecalc

Werden mir diese Einstellungen der Fuses vorgegeben, um 8MHz + 0ms 
(wofür die 0ms stehen, habe ich noch keine Ahnung) zu erreichen (siehe 
bild).

von Argon (Gast)


Lesenswert?

Argon schrieb:
> Werden mir diese Einstellungen der Fuses vorgegeben, um 8MHz + 0ms
> (wofür die 0ms stehen, habe ich noch keine Ahnung) zu erreichen (siehe
> bild).

Jop das wars. =)
Kann mir noch jemand sagen für was das +0ms steh bzw für was es gut ist 
64ms dazu zugeben?
Diverse Funktionen von Programmen?

von spess53 (Gast)


Lesenswert?

Hi

>Kann mir noch jemand sagen für was das +0ms steh bzw für was es gut ist
>64ms dazu zugeben?

Das ist die Start-Up-Time. Mit 6 CK+65ms bist du auf der sicheren Seite.

MfG Spess

von Argon (Gast)


Lesenswert?

spess53 schrieb:
> Das ist die Start-Up-Time. Mit 6 CK+65ms bist du auf der sicheren Seite.

Verstehe =), Danke.

Aber leider sind auf der Seite keine Angaben für einen 16MHz-Betrieb 
angeben.
Was ich gelesen habe, soll dieser ja nur im HighVoltage Bereich 
funktionieren?

von spess53 (Gast)


Lesenswert?

Hi

>Aber leider sind auf der Seite keine Angaben für einen 16MHz-Betrieb
>angeben.
>Was ich gelesen habe, soll dieser ja nur im HighVoltage Bereich
>funktionieren?

Da bringst du einiges durcheinander. Der interne RC-Oszillator kann nur 
1, 2, 4 und 8MHz. 16MHz gehen nur mit externenm Quarz.

High Voltage ist nur beim Programmieren der Fuses interessant/notwendig 
wenn du dich mal ausgesperrt hast.

MfG Spess

von Argon (Gast)


Lesenswert?

spess53 schrieb:
> 16MHz gehen nur mit externenm Quar

ACHSO!
Jetzt seh ich wieder etwas klarer =)

Danke, jetzt kann ich mich ans programmieren und testen machen =)

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
Noch kein Account? Hier anmelden.