Forum: Mikrocontroller und Digitale Elektronik Attiny13 F_CPU


von Daniel B. (inox5) Benutzerseite


Lesenswert?

Hallo
Ich habe hier einen Attiny13 herumliegen und frage mich, was ich als 
F_CPU einsetzen soll. Meine Oszillatoreinstellung ist 9,6Mhz. Ist F_CPU 
vielleicht 9600000?
Mein GCC meldet nämlich die ganze Zeit, dass ich doch endlich mal mein 
F_CPU definieren soll...

Inox5

von Timmo H. (masterfx)


Lesenswert?

F_CPU ist die Taktfrequenz in Hz.
9,6MHz => -DF_CPU=9600000UL
Siehe auch 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Taktfrequenz

von Hannes L. (hannes)


Lesenswert?

Daniel B. wrote:
> Hallo
> Ich habe hier einen Attiny13 herumliegen und frage mich, was ich als
> F_CPU einsetzen soll. Meine Oszillatoreinstellung ist 9,6Mhz.

Demnach hast Du die CKDIV8-Fuse selbst deaktiviert, oder?
Anderenfalls läuft der Tiny13 nur mit 1,2 MHz.

> Ist F_CPU
> vielleicht 9600000?

Das wäre ein logischer Schluss, denn M (Mega) steht für 10^6, also 6 
Nullen.

> Mein GCC

Dein's??? - Warum nimmst Du nicht das, was Andere auch nehmen?

> meldet nämlich die ganze Zeit, dass ich doch endlich mal mein
> F_CPU definieren soll...

Na dann tu es doch. Es wird vermutlich eine Ganzzahl ohne Trennzeichen 
erwarten (Sorry, ich benutze kein C, kenne daher die Eigenheiten von GCC 
nicht), also die Angabe in Hz (nicht in kHz, MHz, GHz oder gar mHz).

>
> Inox5

...

von Daniel B. (inox5) Benutzerseite


Lesenswert?

Sorry, ich hatte angenommen, dass der programmierte Takt aus CKSEL0 und 
1 nicht geteilt wird.
Also sind eigentlich 1,2MHz eingestellt und so muss demzufolge 
*F_CPU=1200000* sein, richtig?

Danke
Inox5

von Msp 4. (msp430_crew)


Lesenswert?

Richtig, wenn die Fuse CKDIV8 aktiviert ist!

von Hannes L. (hannes)


Lesenswert?

Daniel B. wrote:
> Sorry, ich hatte angenommen, dass der programmierte Takt aus CKSEL0 und
> 1 nicht geteilt wird.

Hört sich jetzt zwar arrogant an, aber:

- Datenblatt (PDF) öffnen,
- Ctrl-f für "Find",
- Zauberwort "shipped" eintippen,
- Enter drücken,
- Absatz, in dem das Wort "shipped" vorkommt genau lesen und verstehen!
- Bei Nichtverstehen die involvierten Fachbegriffe als Suchbegriffe
  nutzen und versuchen, den Knoten anhand der weiteren Suchergebnisse
  zu lösen...

> Also sind eigentlich 1,2MHz eingestellt und so muss demzufolge
> *F_CPU=1200000* sein, richtig?

Vermutlich...

>
> Danke
> Inox5

...

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.