mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART mit 12MHz


Autor: Björn P. (krusty)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein kleines Problem.
Ich benutze von Atmel das UART Programm.
Auf meine Platine sitzt ein 12MHz Quarz aber das Programm ist für einen 
11MHz Quarz ausgelegt .
Jetzt wollte ich wissen was ich am Programm ändern muss.
Könnt ihr mir da helfen?

Gruß Björn


SCON = 0x50;               /* uart in mode 3 (9 bit), REN=1 */
SADDR=0x01;                  /* local address */
SADEN=0xFF;                  /* address mask */
TMOD = TMOD | 0x20 ;         /* Timer 1 in mode 2 */
TH1  = 0xFD;                 /* 9600 Bds at 11.059MHz */
TL1  = 0xFD;          /* 9600 Bds at 11.059MHz */
ES = 1;          /* Enable serial interrupt */
EA = 1;           /* Enable global interrupt */
TR1 = 1;                     /* Timer 1 run */

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hängt stark vom verwendeten Controller ab. Das Datenblatt gibt 
allerdings mit Sicherheit Auskunft darüber, wie man aus Taktfrequenz und 
gewünschter Baudrate die Werte für den Timer ermittelt.

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Obelix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt !

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du noch nen älteren 8051 hast (XTAL/12) dann gehen 9600Baud nicht 
bei 12MHz mit T1 (mit T2 gehts).


Peter

Autor: Dirk Hofmann (arm-dran)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei ein "echter 8051" keinen T2 hat.

Deswegen nimmt man die krummen Quartzfrequenzen, um die Baudraten mit
möglichst keinem oder wenig Jitter zu erzeugen.

Wenn der µC bis 24MHz geht, kannst Du auch 22.1184 MHz verwenden.

Autor: Schorsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bitte hat Jitter mit der Quarzfrequenz zu tun?

Autor: Dieter Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk meint sicher das richtige, nämlich einen theoretisch notwendigen 
nicht ganzzahligen Teilerfaktor und hat nur den falschen Begriff 
erwischt.

Autor: Dirk Hofmann (arm-dran)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieter Werner wrote:
> Dirk meint sicher das richtige, nämlich einen theoretisch notwendigen
> nicht ganzzahligen Teilerfaktor und hat nur den falschen Begriff
> erwischt.

OK, war vielleicht ein bischen seltsam ausgedrückt.
So wie Dieter es schreibt.
Durch den ungenauen Teilungsfaktor ergeben sich bei den 
Standardbaudraten
Abweichungen.
Diese summieren sich dann je nach Baudrate mit jedem übertragenem
Bit.
Bei zu großer Abweichung kommt das Bitsampling am Empfänger außer Tritt.

Man sollte schon deshalb eine möglichst präzise Baudrate anvisieren,
da die Gegenstelle aufgrund dieser Vorraussetzungen genauso abweichen
kann.
Sollte ein Teilnehmer in + der andere - - Richtung differieren
so summiert es sich noch zusätzlich.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besonders kritisch ist es, wenn der schnellere mehrere Bytes 
hintereinander sendet.
Das Stopbit wird im 7.,8. und 9.Takt einer Bitzeit (16 Takte) gesampelt 
und erst danach kann eine neue Startflanke erkannt werden, ansonsten 
sind alle folgenden Bytes nur Bytesalat.


Peter

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.