mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART/RS232 Empfangsproblem ATmega8


Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich will eine Übertragung mit 1 Stopbit machen. Der AVR empfängt die
Daten aber nur richtig, wenn ich 2 Stopbits sende. Wenn ich nur mit 
einem Stopbit sende, zeigt mir der ATmega einen Frame Error an. Ich 
übertrage mit HTerm probeweise Buchstaben auf den ATmega

Laut Datenblatt braucht der Atmega8 nur 1 Stopbit. Das kann man auf der
Empfansseite auch nicht einstellen. Nur in Senderichtung kann man die
Anzahl der Stopbits festlegen.

Woran könnte das liegen? Wie bekomme ich das hin, dass Daten mit einem
Stopbit vom AVR richtig empfangen werden?

Gruß
Flo

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> Das kann man auf der
> Empfansseite auch nicht einstellen.

was bringt dich auf diese Idee?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Woran könnte das liegen?

Baudratenfehler?

>was bringt dich auf diese Idee?

Wie kann ein Empfänger die Anzahl der Stopbits bestimmen?

MfG Spess

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An einen Baudratenfehler hab ich auch schon gedacht. Habs mit 4800 und 
9600 getestet, das hat nix am Problem geändert.
Das mit dem Stopbit auf der Empfangsseite steht auch im Datenblatt des 
ATmegas.

Gruß
Flo

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo schrieb:
> Habs mit 4800 und
> 9600 getestet, das hat nix am Problem geändert.

Langsamer bedeutet nicht auch ein kleineren Fehler.

Autor: Paulchen Panther (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Stoppbit dient als Pause zwischen den Bytes. Wie lange benötigt 
deine Routine zur Verarbeitung der ankommenden Daten?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Das Stoppbit dient als Pause zwischen den Bytes.

Von der Verarbeitung her nicht. Mit 2 Stopbits hat er 11 Bitzeiten, mit 
einem nur 10 Bitzeiten für die Verarbeitung zur Vefügung.
Außerdem hat er einen Frameerror und keinen Data-Overrun.

>An einen Baudratenfehler hab ich auch schon gedacht.

Benutzt du einen Baudratenquarz?

MfG Spess

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutz ein 4MHz Quarz.

Gruß
Flo

Autor: Paulchen Panther (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Werte hast du in den Baudratenregistern eingestellt?

Autor: justme (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das zweite Stoppbit wird beim Empfang sofern nicht erwartet weggeworfen.
"The Receiver ignores the second stop bit. An FE (Frame Error) will 
therefore only be detected in the case where the first stop bit is zero" 
Da Startbits low und Stoppbits high sind, kann man ein low Stoppbit 
nicht einfach per Protokoll erzeugen. Ein low Stoppbit, das der Grund 
für den FE ist, entsteht z.B. wenn das letzte Datenbit bereits für das 
Stoppbit gehalten wird.

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.