Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 15. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

LB6_Lektion 25_UART Config

Postby albus » Wed May 26, 2010 12:00 am

Hallo zusammen !!!

Ich habe eine Frage zur Konfiguration des UART. Auf Seite 55 LB6
steht in der Tabelle 4.1, dass es 4 Betriebsmodi gibt, einzustellen über das SCON Register. Bei Mode 1 und 3 ist die Baud-Rate variable einzustellen über Timer 1 oder 2.
Die Initialisierung sieht so aus, wie sie auf Seite 67/68 steht:

SCON = 0x52; // Festlegung der Betriebsart
TMOD |= 0x20; // Festlegung der als Timer und des Modus
TH1 = 0xFD;
TR1 = 1;
TI = 1;

Aber wo her weiß die UART, welcher Timer (0, 1 oder 2,
falls mehrere konfiguriert sind) für sie zuständig ist.
Beim AT89C51ED2 gibt es hierfür das BRDCON Register.

Frage 2: die Formel zur Berechnung der Baud-Rate auf Seite 65
LB6

TH1 = 256 - ((2^SMOD1 * fosz) / (384 * BdR))

Wo kann ich diese Formel finden. Im Datenblatt zu CC03 habe ich sie nicht gefunden. Mir ist vorallem die Zahl 384 nicht klar.

Kann mir bitte jemand weiterhelfen ?
Vielen Dank schonmal im Voraus !

Gruß Albus
albus
 
Posts: 3
Joined: Fri Jan 03, 2014 1:56 pm

Postby μtronix » Fri May 28, 2010 12:00 am

Hallo Albus,

für die UART gibt es die Möglichkeit, diese mittels internem Baudratengenerator, Timer 1 oder Timer 2 zu betreiben/takten. Weitere Infos dazu findest Du auf der Seite des Herstellers:

http://atmel.com/dyn/products/tools_card_v2.asp?tool_id=3420

Die Konfiguration des UART-Timings erfolgt nicht über die Register der UART selber, sondern über den jeweiligen Timer. Infos dazu findest Du im Datenblatt unter "Timer 1" bzw. "Timer 2".

Zur Frage mit der Berechnung der Baudrate:
Zum Thema Baudratenberechnung habe ich im Datenblatt des CC03ers keine Details finden können, allerdings im folgenden Dokument auf Seite 11:

http://www.ieap.uni-kiel.de/surface/ag-berndt//lehre/fpmc/mikrocontroller-1.pdf

Dabei setzt sich der Wert 384 zusammen aus 12*32. Mit 12 ist der Wert des Vorteilers gemeint.


Viele Grüße
Patrick
μtronix
 
Posts: 197
Joined: Fri Jan 03, 2014 2:12 pm

Postby albus » Sun May 30, 2010 12:00 am

Hallo Patrick,

vielen Dank für deine schnelle Antwort. Entschuldige bitte
dass ich erst jetzt antworte.
Die Link's, die du geschickt hast haben mir gut weitergeholfen
und ein wenig Licht ins Dunkle gebracht, auch wenn ich noch
nicht alles genau verstanden habe.
Deshalb kann es sein, dass ich mich nochmals hier melde.

Viele Grüße
Albus
albus
 
Posts: 3
Joined: Fri Jan 03, 2014 1:56 pm


Return to Mikrocontroller-Fernlehrgang (TFH)

Who is online

Users browsing this forum: No registered users and 1 guest