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.
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
Hallo Yagan. wie kann ich so eine Break Anweisung mir meinem µC (Mega16) per Hardware UART senden ?
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.
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 ?
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.
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 ?
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
ist 0x00 eine ASCII NULL??? wohl eher eine Hex-NULL !? Ich hoff ich hab nicht schon wider shit gelabert. Trotzdem Danke ! MfG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.