mikrocontroller.net

Forum: Compiler & IDEs XTAL = 12000000L


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon oft habe ich in Programmen bei Angaben der Quarzfrequenz ein
großes L gesehen (so wie oben im Betreff). Warum steht es an dieser
Stelle?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das steht da, weil die Konstante eine "long"-Konstante ist.
Konstanten ohne dieses Suffix werden von C/C++-Compilern als
"int"-Konstante behandelt; bei vielen Architekturen ist "int" aber
nur 16 Bit groß und also unfähig, Werte größer 32767 (Vorzeichen!) zu
behandeln.

Klar?

Autor: Wolfgang Horn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, Ralf,

aus Kernighan&Ritchie: "Eine ganzzahlige Konstante, der unmittelbar
das Zeichen "l" oder "L" (Buchstabe l) folgt, ist auf jeder
Maschine long. Die Konstante kann dabei dezimal, oktal oder hexadezimal
definiert sein"

Ich hatte mich damit erst beschäftigt, als ich mit einem Makro
Konstanten zur Quarzfrequenz und Baudzahl umrechnen wollte in die
Zahlen, die in UBRRL und UBRRH zu stehen haben.
Wenn Du Präprozessor und Compiler nicht genau sagst, daß er LONG-Zahlen
neben soll, dann wird das Ergebnis anders als gewollt.

Ciao
Wolfgang

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uhhh... ja, danke jetzt ist mir das klar! Ich hatte einfach mal
versuchsweise das L gelöscht... und dann gings nicht mehr!

Danke!

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.