www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART Break


Autor: Dietmar H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Kann mir jemand erklären was ein UART-Break ist ?
Im datenblatt steht, dass ich um aus einem bestimmten modus
herauszukommen ein UART Break senden muss.

Autor: Yagan Z. Dongobar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dietmar,

eine BREAK-Bedingung wird von vielen UARTs erkannt, wenn nach einem
Startbit nicht innerhalb eines bestimmten Zeitraums ein Stopbit folgt.
In der Praxis zieht man den /TXD-Ausgang für mehrere Byte-Zeiten auf
LOW. Manche UARTs kennen auch eine 'Send Break'-Anweisung.

Ciao, Yagan

Autor: Dietmar H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Yagan. wie kann ich so eine Break Anweisung mir meinem µC (Mega16)
per Hardware UART senden ?

Autor: mmerten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfache Antwort: Der Hardware UART des AVR kennt weder eine direkte
BREAK Detektion noch kann er ein BREAK senden.
Mit Software ist dies aber möglich, z.B. FE-Detektion und RX-PIN
Abfrage für RX BREAK, und UART disable und TX-PORT auf L für den
Sender.

Autor: Dietmar H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na klasse ! Wie integrier ich das nun am besten in mein Vorhandenes
(hardware based uart) system ?
Soll ich eine routine schrieben, die den UART vorübergehend disabled
und "manuell" den uart break sendet und dann den uart wieder enabled
?
Oder wie mach ich das am besten ?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll ich eine routine schrieben, die den UART vorübergehend disabled
und "manuell" den uart break sendet und dann den uart wieder enabled
?

Entweder so oder Du schaltest einen Transistor parallel zum TX-Ausgang,
der diesen eine gewisse Zeit kurzschließt, falls das mit dem disable
doch viel zu kompliziert sein sollte.

Autor: Dietmar H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie soll ich denn das mit dem "kurzschließen" machen. Klar ist ich
brauch wiederstände, die den "kurzschlussstrom" begrenzen. Aber woher
weiss ich wann ich den Transistor "an" schalten muss ? bzw. woher
weiss ich wann das start bit gesendet ist ?

Autor: Jörg Lindemeier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein einfaches <break> kann auch erzeugt werden, indem man
die Baudrate kurzzeitig verkleinert (z.B. halbiert) und dann
eine ASCII-NULL (0x00) sendet. Dies sollte beim Empfänger zu
der gewünschten Break-Funktion führen.
Gruss Jörg

Autor: Dietmar H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist 0x00 eine ASCII NULL??? wohl eher eine Hex-NULL !?
Ich hoff ich hab nicht schon wider shit gelabert.
Trotzdem Danke !

MfG

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dietmar:
http://www.asciitable.com/
behauptet, dass 0x00 das ASCII-Nullzeichen bezeichnet.

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.