- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 5 von 5

Thema: mehrere RS232 - möglich? und wie?

  1. #1
    dl1akp
    Gast

    mehrere RS232 - möglich? und wie?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Leute,

    ich will folgendes Problem lösen, und weiss noch nicht wie. Vielleicht hat einer eine durchschalgende Idee.

    Ich habe eine Verbindung PC zu einem anderen Gerät mit RS232.
    Hier will ich den Traffic überwachen. Wenn der PC ein bestimmtes Komando sendet und das andere Gerät mit einer ganz bestimmten Zeichenfolge (16Byte) antwortet, dann soll meine Schaltung über einen weiteren RS232 ebenfalls einen bestimmten Datenstrom absenden.

    Ich muß also auf der inen RS232 RXD und TXD überwachen, weil ich die Reaktion auf diesen bestimmten Befehl auswerten will.

    Und weiterhin soll dann bei Übereinstimmung ( den "Soll-Wert" speichere ich im AVR) auf einer weiteren RS232 ein bestimmter Bytewert (8 Byte) ausgegeben werden.

    Auf dieser zweiten RS232 brauche ich allerdings NUR senden! Empfangen ist nicht nötig.

    Habt Ihr ein paar ideen?
    Bin noch völlig Ratlos....

    Danke, Andreas

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Wenn die Burschen nicht strikt "Half-duplex" senden (also einmal der, danach der) brauchst du zum "sniffen" eigentlich 3 RS232: Für RxD, TxD und eine zum selber senden.
    Nur bei sehr langsamen Baudraten könntest du an eine Soft-Lösung denken, das kann aber knapp werden.
    Ich persönlich würde versuchen, mit 2 Tinys (2313) zu sniffen, die dann über I2C an einen "Haupt"-Controller senden, der dann die Auswertung und das Senden übernimmt.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    dl1akp
    Gast

    RS232 sniffen...

    Hallo PckNick,

    danke schon mal für die Idee. Muß ich mal drüber nachdenken.

    Der Traffic läuft quasi immer so: PC sendet ein Komando, dieses ist IMMER 5 Byte lang. Dann antewortet das andere Gerät darauf. Diese Antwort kann unterschiedlich lang sein.

    Auf der TX-Seite des PC brauch ich nur zu warten, bis exact diese Bytefolge kommt: 00 00 00 03 10.
    Wenn die kommt, dann muß ich auf der RX-Seite die Antwort des anderen Gerätes auswerten.
    Nach Auswertung muß auf dem dritten RS232 eine Befehlssequenz gesendet werden, hier 8Byte.
    Die Sache mit zwei Tinys ist da vermutlich die beste Lösung?

    Wie mache ich das mit Byteweise senden und empfangen. Bisher habe ich immer nur ASCI-zeichen über RS232 gesendet, oder Text. Noch nie Bytes??

    Andreas

    Ach ja: die Speed ist 4800 Baud.

  4. #4
    dl1akp
    Gast
    Hab noch was rausgefunden, das erleichtert die Sche ungemein:
    Ich brauch nur RXD überwachen und hier nach einem 16-Byte-Code suchen, bei dem die letzten 5Byte IMMER gleich sind!

    Dann werte ich die 11 Byte davor aus.

    Wie stelle ich das an?

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Nun, wenn das so geht ?
    Ein "Ringbuffer" von 16 Byte
    Du liest die ankommenden Bytes
    und schreibst es in den Buffer.
    Ist das Byte gleich dem zuvor,
    Zähler + 1 ,
    sonst
    Zähler = 0

    Erreicht der Zähler = 5 , dann hast du in dem Buffer 16 Zeichen, 11 zum auswerten und 5, die gleich waren

    Btw: Ein ASCII- Zeichen IST ein Byte
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests