-         

Ergebnis 1 bis 9 von 9

Thema: Uart -> Com Datenübertragung

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19

    Uart -> Com Datenübertragung

    Anzeige

    Hallo,
    ich möchte mit dem RP6 über UART z.B. Zahlen oder einen ASCII-Code and einen Com-Port weitergeben. Ich hab mir gedacht, wenn ich einfach jeweils TXD mit TXD, RXD mit RXD, und GND mit GND verbinde müsste das klappen. Hat es aber nicht.
    Das Programm am Computer funktioniert. Ich habe da sowas wie einen kleinen Chat geschrieben zum testen. Hab mal am COM-Port TXT mit RXD verbunden. So konnte ich Daten empfange die ich sende (waren ASCII-Codes).
    Auf dem RP6 habe ich das Programm, wie man es normal macht(writeChar, writeString), wenn man Daten an das Terminal schickt, geschrieben. An das Terminal per USB ging das auch.
    Hier mal die Portbelegung, wie ich denke, dass sie stimmt.
    UART (GND:9, TXD:3,RXD:2)
    COM (GND:5, TXD:3, RXD:2)

    Schätzungsweise müsste der COM-Port 2,5V haben. Messen konnte ich es nicht, da mein Messgerät defekt ist.

    Ihr werdet wahrscheinlich sofort wissen, was ich falsch gemacht habe. Bin halt eher der Programmierer als der Elektroniker.

    MfG
    Johannes

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die RS232 Schnittstelle braucht andere Pegel. Dafür gibt es Treiber ICs wie max232 für die Umsetzung der Pegel. Für ein High Signal vom µC sollten das -3 bis - 12 V sein und für ein Low vom µC +3 bis 12 V. Die allermeisten PCs kommen auch damit klar wenn das Signal nur 0 V für H und 5 V für L ist. Das signal muss dafür aber halt wenigstens Invertiert werden. Wegen der eher geringen Geschwindigkeit kann man das zur Not auch mit einem einfachen Transistor und 2 Widerständen machen.

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    32
    Beiträge
    1.514
    Hallo,

    der TX Pin sendet, RX empfängt.
    TX an TX ist daher sogar gefährlich für die verwendeten Bauteile (einer schaltet auf high, einer auf low ==> Kurzschluss)!
    Das muss über Kreuz angeschlossen werden.

    Zusätzlich kommt noch das was Besserwessi gesagt hat dazu - der MEGA32 mag keine -12 bis +12V Signale an seinen 0 bis 5V Pins.

    --> Lieber vorher fragen (bzw. google bemühen) nächstes mal.

    MfG,
    SlyD

  4. #4
    RN-Premium User Roboter-Spezialist
    Registriert seit
    21.04.2009
    Beiträge
    522
    Der virtuelle Com-Port vom Interface reicht dir nicht?
    Brauchst du wirklich einen Hardware COM-Port?
    Auf dem Interface ist ja schließlich schon alles drauf, was du brauchst.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19
    Was ist ein virtueller Com-Port?
    Ich beschreib einfach mal kurz mein Problem. Ich will ein kleines Uralt-Laptop auf den RP6 draufbauen. Das hat einen RS232-Port. somit dachte ich mir, dass es für mich so am einfachsten geht.
    -Naja. Der RS232 von dem Lapi hat keine 12V. Dann ist es doch eig. kein 12V Signal. S

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von johannes_b
    Was ist ein virtueller Com-Port?
    Ich beschreib einfach mal kurz mein Problem. Ich will ein kleines Uralt-Laptop auf den RP6 draufbauen. Das hat einen RS232-Port. somit dachte ich mir, dass es für mich so am einfachsten geht.
    -Naja. Der RS232 von dem Lapi hat keine 12V. Dann ist es doch eig. kein 12V Signal. S
    ALLE PC RS232 haben negative Logik das bedeutet eine 1 wird als -3...-15 V eine 0 als +3..+15 V ausgegeben. Der Bereich zwischen -3V und +3 V gilt als "Verbotener Bereich". Ein Pegelwandler ist zwingend nötig oder Dein µC lebt nicht lange! Da die PC Hersteller es nicht so genau sehen, kann die Spannung anstatt 15 V auch abweichen was dann allerdings nicht der Norm entspricht und bei höheren Baudraten zu Problemen führen (kann).

    Man kann dien Negativen TXD Pegel mit einer Diode gegen GND auf -0.6 V "kappen", das hält der AVR aus und in die TXD Leitung einen 1k8 Widerstand schalten. RXD (PC) erkennt auch 0 und 5 V.

    Bleibt noch die Negative Logik. Bei Bascom kann man das bei config einstellen. Ansonsten muss man jedes empfangene Byte mit XOR 0xff
    "bearbeiten" das invertiert das ganze.

    Gruß Richard

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19
    Also,
    ich hab jetzt mal ein bisschen gesurft. Ich denke ich werde es nun mal mit einem max232 ausprobieren. Bloß hab ich keine Ahnung, wie ich was mieinander verbinden muss. Steht das dann im Datenblatt, oder habt ihr dafür einen Schaltpan?

    Hauptsache ich kann am Ende Daten senden und empfangen.

    Edit: Sorry für den Doppel-post. Wollte ich nicht. Kann den hier jemand löschen?

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    28.05.2010
    Beiträge
    19
    Also,
    ich hab jetzt mal ein bisschen gesurft. Ich denke ich werde es nun mal mit einem max232 ausprobieren. Bloß hab ich keine Ahnung, wie ich was mieinander verbinden muss. Steht das dann im Datenblatt, oder habt ihr dafür einen Schaltpan?

    Hauptsache ich kann am Ende Daten senden und empfangen.

    http://www.conrad.de/ce/de/product/1...archDetail=005

    wäre dies ein passender max232? passender max232?

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Du kannst das auch als Bausatz oder fertig kriegen, z.B. bei Pollin, Bestellnummer 810 036.

    Gruß Dirk

Berechtigungen

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