Hallo, ich hab einen Atmega644PU20, welcher laut Datenblatt 20Mhz bringt (wenn ich richtig liege). Im erstellten Makefile vom WinAVR fand ich die Zeile: F_CPU = 8000000. Bedeutet das nun, dass der Atmega im Moment mit 8Mhz läuft und ich das ganze bis 20Mhz erhöhen kann? (Auswirkung: Höherer tromverbrauch) Lieben Gruß, Marry
Marry K. schrieb: > Bedeutet das nun, dass der Atmega im Moment mit 8Mhz läuft und ich das > > ganze bis 20Mhz erhöhen kann? (Auswirkung: Höherer tromverbrauch) Der Atmega arbeitet mit der Frequenz, die in den Fuses eingestellt sind. Die angabe im Code ist dafür da, das man dem Programm an 1 stelle den in den Fuses eingestellten Wert übergibt, mit der das Programm dann berechnungen durchführen kann.
Marry K. schrieb: > Hallo, ich hab einen Atmega644PU20, welcher laut Datenblatt 20Mhz bringt > (wenn ich richtig liege). > Im erstellten Makefile vom WinAVR fand ich die Zeile: F_CPU = 8000000. > Bedeutet das nun, dass der Atmega im Moment mit 8Mhz läuft und ich das > ganze bis 20Mhz erhöhen kann? (Auswirkung: Höherer tromverbrauch) > > Lieben Gruß, Marry Nein der Takt wird durch dies Fuses und/oder durch den verwendeten Quarz bestimmt. F_CPU gibt lediglich deinem Programm den Takt an damit z.B. delays richtig funktionieren. F_CPU muss also auf den Takt eingestellt werden mit welchem der Controller tatsächlich läuft.
Ok, vielen Dank! :D Noch eine kleine letzte Frage: Ist das ganze Stufenlos einstellbar? Oder muss man irgendein Vielfaches von x nehmen? :)
Marry K. schrieb: > Ist das ganze Stufenlos einstellbar? Ja. Es hängt aber davon ab, welchen Oszillator bzw. Quarz du letztendlich benutzten wirst.
early santa schrieb: > Marry K. schrieb: >> Ist das ganze Stufenlos einstellbar? > Ja. Es hängt aber davon ab, welchen Oszillator bzw. Quarz du > letztendlich benutzten wirst. Danke! Ich benutze den internen Taktgeber. Im Datenblatt hab ich die frequenz von 20 Mhz gefunden. Ist die auch Standard bei den Fusebits? Ich hab bisher nichts (wissentlich) verstellt. Oder muss ich das ganze auslesen oder nach anderen Werten im datenblatt suchen? Finde ich schön, dass einem hier so toll geholfen wird. :)
Lies dir mal in Ruhe das Datenblatt zu deinem µC durch. Stichwort: Interner RC-Oszillator bzw. externe Taktquelle. Die 20MHz bekommst du nur mit externem Quarz oder Oszillator. CLKDIV Fuse beachten!
Hans schrieb: > Lies dir mal in Ruhe das Datenblatt zu deinem µC durch. Stichwort: > Interner RC-Oszillator bzw. externe Taktquelle. Die 20MHz bekommst du > nur mit externem Quarz oder Oszillator. CLKDIV Fuse beachten! Im Datenblatt hab ich nun folgendes gefunden: "By default, the Internal RC Oscillator provides an approximate 8 MHz clock." Also ist die Einstellung im Makefile schon korrekt und wenn ich eine viel höhere Taktrate bis 20MHz haben will, brauche ich einen externen Quarz, ja? Lieben Gruß! :)
Hi >Im Datenblatt hab ich nun folgendes gefunden: >"By default, the Internal RC Oscillator provides an approximate 8 MHz >clock." Da steht auch irgendwo, das die Fuse CKDIV8 gesetzt ist. Heisst 1 MHz. MfG Spess
Korrekt! Es gibt hier auch einige Tutorials, die du dazu lesen könntest. Das erleichtert den Einstieg :-).
spess53 schrieb: > Hi > >>Im Datenblatt hab ich nun folgendes gefunden: >>"By default, the Internal RC Oscillator provides an approximate 8 MHz >>clock." > > Da steht auch irgendwo, das die Fuse CKDIV8 gesetzt ist. Heisst 1 MHz. > > MfG Spess Hab noch nicht so viele Datenblätter angelesen. Kann man davon ausgehen, das die Atmega-Reihe per default immer mit 1Mhz ausgeliefert wird?
Stephan W. schrieb: > spess53 schrieb: >> Hi >> >>>Im Datenblatt hab ich nun folgendes gefunden: >>>"By default, the Internal RC Oscillator provides an approximate 8 MHz >>>clock." >> >> Da steht auch irgendwo, das die Fuse CKDIV8 gesetzt ist. Heisst 1 MHz. >> >> MfG Spess > > Hab noch nicht so viele Datenblätter angelesen. Kann man davon ausgehen, > das die Atmega-Reihe per default immer mit 1Mhz ausgeliefert wird? Nein, man liest das Datenblatt des Controllers welchen man verwendet und verlässt sich nicht auf irgendwelche Vermutungen. Wahrscheinlich sehen die Default Einstellungen der Fuses bei allen Atmegas gleich aus, aber solange das nicht Schwarz auf Weiß irgendwo so steht, würd ich es nicht einfach annehmen. Du musst sowieso das Datenblatt lesen wenn du einen Controller verwenden willst. Wozu also vermuten? gruß cyblord
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.