www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny13 F_CPU


Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Timmo H. (masterfx)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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

...

Autor: Daniel B. (inox5) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Msp 430_crew (msp430_crew)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig, wenn die Fuse CKDIV8 aktiviert ist!

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.