www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Baudrate, Datenframe


Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
wer weiß an was für Stellen man drehen muss um die richtige
Baudrate meines UART einzustellen?
Ich arbeite mit dem ATmega32 MC und habe folgendes Problem:

Auf meinem Board hab ich einen Quarz mit 8Mhz (+ 2 Kondensatoren)
angeschlossen.
In meinem Programm hab ich die Baudrate (9600 baud) eingestellt, siehe
nachfolgendem Sourcecode:

ldi mp,0x33;entspr. dez. 51 -> bei 8Mhz clk 9600baud
out UBRRL,mp
ldi mp,0x00
out UBRRH,mp

Jetzt müsste ich doch eine Baudrate von 9600baud haben oder?

An meinen Empfangsprogramm für meine serielle Schnittstelle kann
ich die Empfangsbaudrate einstellen, stelle ich sie auf 9600baud
ein, kommt nur Quatsch raus, er synchronisiert also nicht richtig.
Stell ich hingegen die Baudrate von 2600baud ein wird mein von MC
gesendetes Datenbyte einwandfrei gelesen.

Wo liegt mein Fehler ? Ich hab doch eine Clk von 8Mhz oder ?
Oder wird die Quarzfrequenz nochmal runtergeteilt?

Ich arbeite im asynchronen Übertragungsprotokoll,(Defaultwert 1 Stopbit
bereits eingestellt)
Aber wie sieht gesamter Datenframe aus ?


Wer weiß hier weiter bin jeder Hilfestellung dankbar

Viele Grüße
Peter

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Fusebits für den externen Quarz richtig gesetzt?


Matthias

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, daran könnte es liegen

Kannst du mit sagen was mit der Start up time z.B
18 CK +4ms (CKSEL=0111 SUT=01) gemeint ist ?
Sorry für die dumme FRage arbeite aber erst seit kurzem mit der UART..
Meint man damit die Zeit die vergeht nach dem Reset also 18Zyklen +4ms
bis dann was geschieht ?

1 Zyklus dauert doch 1/8MHz oder?

Danke für Deine Hilfe

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Genau das ist damit gemeint. Ein Zyklus dauert bei 8 MHz 125ns.

Matthias

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir ist folgendes Eingestellt nach der autom. initialisieren des
Devices:
Ext.Crystal/Resonator High Frequ.;Start-up time:16K CK+64ms (CKSEL=1111
SUT=11)

Was heist das, was ist eine "hohe" Freq. was sind 16K.. bzw. SUT=11 ?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wie wärs wenn du das einfach mal im Datenblatt nachschaust?

High-Frequ. beginnt IIRC bei 3MHz.

SUT sind die Fuses für die Start-Up-Time.
16K sind 16*10^3=16000

Matthias

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na gut hast ja recht aber trotzdem löst das mein Problem noch nicht...

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß keiner Rat ??
DATENFRAME bzw. BAUDRATE ???

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
UBRR= 51 entspricht 2400 Baud bei 2MHz. Irgendwas stimmt also mit
deinem Takt nicht. Suche doch mal richtig, ist bestimmt ein
Schusselfehler oder so.

MFG Uwe

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.