UART AT89C2051

Gast #254953
Lesenswert?
• ▲
▼
Hallo zusammen!
Ich hab mittlerweile schon eine halbe Stunde gegoogelt und keine
Antwort auf meine Frage bekommen:
Ich möchte Daten vom uC an den PC seriell übertragen. Ich hab dazu
folgenden Source geschrieben:

**********************
TMOD = 0x20; //Timer 1, Mode 2
TH1  = 0xFD; //9600Baud
SCON = 0x40; //Serielle Schnittstelle
TI   = 0;
TR1  = 1;

while(1) {
  SBUF = 'A';
  while(TI == 0);
  TI = 0;
}
**********************

Irgendwie bekomme ich aber keine Daten. Das Auswerteprogramm am PC
funktioniert, da ich es auch mit der C-Control ausprobiert habe und da
erhalte ich das Zeichen korrekt.
Meine Vermutung ist, dass die Parameter im uC-Source (TMOD, TH1, SCON)
falsch sind.
Eingestellte Parameter am PC:
- 9600 Baud
- 8 Datenbits(Quarz 11.0592MHz)
- keine Parität
- 1 Stoppbit

Vielen Dank im Voraus,
Alex
Gast #254954
Lesenswert?
• ▲
▼
Welchen Quarz verwendest du?
Du möchtest wirklich den Modus 2 verwenden? Damit teilst du den Quarz
fest herunter und nicht variabel (1/32 oder 1/64 der
Quarzgeschwindigkeit.)
Ich würde dir eher den Mode 1 empfehlen.
Schau mal www.erikbuchmann.de an. De gibt es einen Codegenerator, mit
dem du deine Programme überprüfen kannst.

Gruß Elektrikser

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.