Kommunikation mit Seriellem Gerät

  • Hallo zusammen,

    ich bin immernoch dabei zu versuchen eine kommunikation mit einem MM4005 der Firma Newport über die Serielle Schnittstelle von einem Linux PC aus zu aufzubauen.

    Laufen soll das ganze unter:
    KDE Version 3.5.5
    Linux version 2.6.24.3
    Debian 4.1.1-21
    Machine: i686
    Ich benutze dabei hauptsächlich KDE.

    Wie sende ich nun Befehle an das Gerät?
    In dessen Anleitung steht: Command Syntax:

    Code
    yy::xxAAnn
    yy - Controller address, in RS-232-C addressable mode
    xx - Optional or required preceding
    AA - Common mode
    nn - some parameter

    Mein Programm sieht so aus:

    Die Ausgabe im Terminal lautet:

    Zitat

    Port RS232 has been sucessfully opened and 3 is the value of open()
    folgender Befehl wird gesendet: MR

    Bytes written: write_size=4
    rs232ali = 3
    Error reading: Resource temporarily unavailable
    Buffer= (null)

    Es kommen auf jeden Fall Daten aus der Schnittstelle (hab ich mit Oszi getestet). Allerdings kann ich mit dem Code auch nichts lesen, wenn ich Pin 2 und 3 miteinander verbinde (sende und empfangsleitung). Irgendwas ist also faul.


    Ich habe im Internet etwas recherchiert und bin in einem Forum auf einen Code gestoßen, den ich modifiziert habe und mit dem nun das Senden und Empfangen klappt, wenn Pin 2 und 3 verbunden sind. Bei Anschluss des MM4005 klappt die Kommunikation immernoch nicht. Der Code lautet:

    Die Ausgabe im Terminal ist die folgende:

    Zitat

    Open Port /dev/ttyS0: : Success
    baud=19200
    written: 1TP
    wait 900 ms
    FATAL READ ERROR Nr. 11: Resource temporarily unavailable
    READING of SERIAL PORT FAILED

    Hat jemand eine Idee, wie ich da weiter vorgehen kann, bzw. woran es scheitert?

    Einmal editiert, zuletzt von The User (22. Juni 2009 um 15:33) aus folgendem Grund: Spezifikation enthielt Smilie, daher [code] eingefügt

  • Hallo!

    1. Du solltest sleep verwenden, das kostet keine Ressourcen
    2. Wofür überhaupt warten?
    3. Was willst du realisieren?

    Viele liebe Grüße
    The User

    Macht keinen Unterschied, ob sleep oder for, aber mit sleep muss ich mind. 1 secunde warten und mit der for Schleife kann ich auch kürzer warten. Ich warte auf die Antwort vom MM4005, die kommt nach einer kurzen Zeit von einigen ms.
    Ich möchte mit dem MM4005 kommunizieren und ihn vom PC aus steuern.