mikrocontroller.net

Forum: Compiler & IDEs USART Baudrate


Autor: turrican (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wie funktioniert das mit der Baudraten konfiguration enes ATMEGA 16 ?
ich möchte mit einer Baudrate von 31250 Bits/s übertren

Autor: Branko Golubovic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#define UART_BAUD 31250

 UBRRL = (F_CPU / (16UL * UART_BAUD)) - 1;

Branko

Autor: turrican (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey danke Banko für die schnelle Hilfe

Autor: turrican (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ooop Branko meine ich sorry

Autor: turrican (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch eine frage

hat die takt frequent des µC eigentlich was mit der baudrate des USART
zu tun ?

Autor: Christian Fasthuber (fasti)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Jo hast sie! Schau dir mal die Formel von Branko genauer an, da steht
F_CPU und das steht für was? Genau Frequenz CPU in Herz.

Autor: turrican (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und für was steht 16UL ?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16 ist eine konstante Zahl.

Das Suffix UL bedeutet, daß die Konstante nicht als int interpretiert
wird, sondern als unsigned long.

Autor: Der Grosse (jonnyk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man auch eine variable baud rate beim mega 16 setzen? wenn ja wie?

Ich benutze basic und habe volgenden code dafür gemacht er funktioniert 
aber nicht.

   If Pind.4 = 1 Then
      $baud = 115200
   End If

   If Pind.4 = 0 Then
      $baud = 56200
   End If

kann mir wer helfen?

bedanke mich im vorraus

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Der Grosse (jonnyk)

>Kann man auch eine variable baud rate beim mega 16 setzen? wenn ja wie?

Mit einem scharfen Blick in Handbuch von BASCOM?

Such mal nach BAUD (ohne Dollarzeichen am Anfang).

MFG
Falk

Autor: Der Grosse (jonnyk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich ausprobiert es geht nicht. bekomme von MC trotzdem keine 
antwort.

Autor: Hans-jürgen Herbert (hjherbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist wohl die maximal mögliche Baudrate überschritten oder 115200 
lässt sich gar nicht genau genug erzeugen.

(F_CPU  BAUD  16) muss eine Zahl ergeben deren Nachkommastellen < 0.03 
oder > 0.97 sind.

Siehe auch die Diskussion Beitrag "Baud rate berechnen"

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Hans-jürgen Herbert (hjherbert)

>(F_CPU  BAUD  16) muss eine Zahl ergeben deren Nachkommastellen < 0.03
>oder > 0.97 sind.

Unsinn. Wenn als UBRR ein Wert von 99,5 rauskommt und ich auf 100 oder 
99 runde, ist der Fehler immer noch kleier 1% und damit im grünen 
Bereich. Der relative Fehler durch Rundung darf nicht grösser als 1% 
werden. Die oben stehende Aussage ist mathematisch/technisch falsch.

MFG
Falk

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.