RS 485, uC und PC

Gast #257003
Lesenswert?
• ▲
▼
Hallo,

da ich mehrere AVR´s (z.B. ATMega16) miteinander verbinden will habe
ich mich heute über die "RS485-Norm" informiert und bin zu dem
Entschluss gekommen, dass dieser Feldbus für mich in Frage kommt. Das
es kein festes Protokoll gibt weis ich auch, ich bin auf eine Seite
gestossen welche ein mögliches Protokoll beschreibt - Ok. Dort werden
zur Übertagung 9 Bits genutzt, wobei das 9 Bit als "Flag" dient um
den Slaves mitzuteilen das es sich um eine Adresse (des jeweiligen
Slaves) handelt. Das erscheint mir auch sehr logisch, nun sollen aber
bei mir die Slaves die Mikrocontroller sein und, ein PC der Master.

Daszu meine Fragen:

1.) Kann man die RS232-Schnittstelle eines PC´s benutzen und diese an
den RS485-Bus "klemmen" (evtl. über einen Baustein MAX485 etc.)?

2.) Wenn ja, ist das überhaupt Programmierbar, denn soweit ich weiss
kann man keine 9 Datenbits in den I/O-Routinen definieren.

Vielen Dank
Gast #257004
Lesenswert?
• ▲
▼
Erst runter von RS232 auf TTL (MAX232), dann rauf auf RS485 (MAX485,
oder...) und RTS an das Enable vom RS485 Transmitter. Soweit die
Hardware. Braucht aber irgendwoher Strom.

Der Async-Controller vom PC kann zwar offiziell keine 9 Bits, aber
dafür kann er Mark/Space Parity. Solange Du also nicht noch ein echtes
Parity-Bit oben drauflegen willst, solltest Du mit geschickter
Parity-Programmierung zwischen Daten und Adressen unterscheiden können.
Gast #257005
Lesenswert?
• ▲
▼
Hallo Sven

Wegen dem Protokoll brauchst Du Dir wohl keine Gedanken machen. Falls
das Protokoll, welches Du gefunden hast, Deinen Ansprüchen gerecht
wird, dann gut. Es ist aber auch keine große Kunst, ein eigenes
Protokoll zu entwickeln. Ich habe für mein RS485-Netzwerk ein eigenes,
sehr einfaches Protokoll entwickelt.

Das Problem bzgl. RS232 ist schon etwas komplexer. Ich selbst stand
auch vor dieser Frage und habe mich intensiv mit der Schnittstelle
beschäftigt. Ich habe aber dann eine andere Lösung gewählt
(Zusätzlicher Controller zwischen RS232 und RS485). Damit habe ich zwar
ein weiteres Protokoll, habe aber die Problematik mit Mark/Space, 9-Bit
Adresse, Endekennung... umgangen

Gruß
Detlef

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.