ArduinoNano als LinSlave

Hallo zusammen,
ich habe hier viele Beiträge zum LIN-Bus gelesen, aber in keinem wird gefragt/erklärt, wie
ein BREAK-Signal als Start-Kennung einer neuen Nachricht erkannt werden kann?

Im Detail: Der Lin-Master (serial:19200Baud 8N1) erzeugt zu Beginn einer Nachricht ein BREAK-Signal,
d.h. es werden mehr als 8bit-Zeiten dominanter Low-Pegel auf dem Eindraht-Bus ausgegeben
und somit ein “Protokoll-Fehler” auf dem Bus erzeugt.
Wenn man den Empfang der seriellen Schnittstelle eines LIN-Slaves zu Fuß programmiert, fragt man
beim Empfang eines Zeichens diesen Fehler in dem Status-Byte auf einen vorherigen Frame-Error ab und erkennt daran den Beginn einer neuen Nachricht.
Wie kann man diesen “Break”-Event denn nun in den SERIAL-Funktionen von Arduino abfragen/erkennen?
1000-Dank im voraus!!!

Ich fürchte, daß BREAK in der Serial Bibliothek nicht unterstützt wird, weder zum Senden noch zum Detektieren des BREAK Zustands.

Siehe ATmega328 Datenblatt 20.7.4 "Receiver Error Flags" Frame Error. Vermutlich muß man dafür die Bibliothek ändern, da die Error Bits beim Lesen des Empfangspuffers verloren gehen.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.