mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART mit C


Autor: PD (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich habe folgendes Problem:
Wenn ich das Programm (siehe Anhang) auf dem 8515 laufen lasse, empfange 
ich am Hyper Terminal etwa folgendes:
TsTsTsTtTtTtTtTtTtetetete!e!e!e!e!e!s!s!s!s!s!sTsTsTsTtTtTtTtTtTtetetete 
!e!e!e!e!e!s!s!s!s!s!sTsTsTsTtTtTtTtTtTtetetete!e!e!e!e!e!s!s!s!s

Bei einer höherem Baudrate (19200) gibt es weniger Fehler:
Tes!Tes!Tes!Tet!Tet!Tet!Tst!Tst!Tst!est!est!estTes!Tes!Tes!Tet!Tet!Tet!T 
st!Tst!Tst!est!est!est

Ich denke es liebt an der UDRE Abfrage.
Wenn ich anstelle von while(UDRE==0); while(UDRE!=1); schreibe passiert 
gar nix mehr.....

Kann mir jemand helfen?

Gruss PD

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, weiß zwar nicht, welchen compiler du benutzt, aber wenns avr-gcc 
ist, ist die UDRE abfrage falsch. du holst udre ja gar nicht aus dem 
register raus, sondern checkst immer nur eine variable.

bei gcc müsste es heißen:

while (bit_is_clear(UCSRA,UDRE)) ;

wenn du allerdings codevision einsetzt siehts schon wieder anders aus. 
da kenn ich mich aber nicht aus...

Autor: PD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hy Jonas

Danke für den Tip, nun funzt es!!!
Jetzt muss ich nur noch den empfang basteln:-)

CU PD

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal die gcc-test programme an. empfange am besten über

SIGNAL(SIG_UART_RECV)

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.