Rpi => USB TTL Serial Adpter(CP2102) => RS485

  • Hallo,

    ich habe eigentlich was ganz einfaches vor, leider keine Lösung gefunden...

    Über RS485 Bus sind ca 6-10 MCU's angeschlossen, die als Slave arbeiten

    Der Rpi ist Master. Das ganze im half-duplex Betrieb.

    Der Master sendet Adresse, angesprochener Slave anwortet

    wenn nach Timeout keine Anwort dann den nächsten Slave ansprechen.

    Ich suche eine Möglichkeit den USB TTL Adapter(CP2102) anzusprechen und den

    DTR Anschluss für die Umschaltung Senden/Empfangen zuverwenden

    Eigentlich brauche ich 3-Routinen für das Main-Programm

    1) Character send

    2) Character empfang

    3) DTR vom USB-Adapter on/off schalten, damit fürs Senden ena/dis setzen

    Kann Python oder C sein, nach Möglichkeit keine Moster-Bibliothek

    Vom Prinzip das gleiche was auf den MCU's laufen tut...

    Tx und Rx Interrupt gesteuert als Background schreiben/lesen über Buffer

    Auf der Anwendungsebene nur Char-snd / Char-rcv

    Was muss man alles auf dem Rpi tun ??

    - Tx Interrupt Handler

    - Rx Interrupt Handler

    - char-snd + char-rcv schreibt / List aus dem Buffer

    Habt Ihr da eine Empfehlung ??


    Gruss Saarbrigger

  • RTFM

    will auch nicht, habe bisher nichts passendes gefunden was auf meinen "einfachen" Anwendungs Fall" passt.

    Hast du da eine Hardware Empfehlung ??

    Welche library werden dafür benötigt ??

    Mein eigentliches Problem ist, den USB TTL Serial Adapter mit dem Chip CP2102 das DTR-Signal aus/ein zuschalten.

    Mit dem Kommando stty habe ich es nicht hinbekommen...

    !! nach einem reboot geht es... !! gut das ich es nochmal ausprobiert habe...

    Damit wäre mein Problem gelöst.


    > sudo stty -F /dev/ttyUSB0 hupcl # geht auf 3,3V

    > sudo stty -F /dev/ttyUSB0 -hupcl # geht auf 0V

    Folgende Version verwendet:

    - Linux zw-5 5.15.76+ #1597 Fri Nov 4 12:11:43 GMT 2022 armv6l GNU/Linux

    - Linux rpi4 6.1.65-v8+ #1703 SMP PREEMPT Tue Dec 5 16:25:41 GMT 2023 aarch64 GNU/Linux

    Gruss Saarbrigger

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!