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.
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.
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
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.
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).
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?
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
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?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

