Wie zum senden und empfangen über rs-485 serielle Schnittstelle?

Möchte ich die Kommunikation zwischen meinem PC und einige controller-boards.

Die Erwartung ist, dass der PC sendet eine Kennung des board auf RS-485 und dann sollte es die Antwort aus dem Vorstand.

Wenn ich versuche, die Antwort erhalten, ich erhalte falsche Daten.

Hier ist mein code:

public void set()
    {

        SerialPort sp = new SerialPort("COM1");
        sp.Open();
        if (sp.IsOpen)
        {
            byte[] id = new byte[]{0,0,0,0,0,0,0,0,0,0};
            byte[] rec = new byte[540];
            while (!end)
            {
                sp.Write(id,0,id.Length);

                sp.Read(rec,0,rec.Length);

                //do some with rec
                //WORKING
                //do soem with rec

            }
        }
        sp.Close();
    }

Funktioniert es, wenn ich mich für die Verwendung von RS-232, aber nicht, wenn ich mit RS-485.

UPDATE :

Es ist RS-485 2-Draht.(http://en.wikipedia.org/wiki/RS-485)

Welche Daten Sie erhalten?
welche Art von RS-485-Schnittstelle verwenden Sie? Ein normaler PC hat keine solche Schnittstelle,...
Sie sind richtig, ich benutze uport 1150 ein Produkt von moxa
ich weiß, es ist falsch.es ist von einem sensor.
Ich denke, das ist mehr hardware als software. Überprüfen Sie die Dokumentation Ihres RS-485-hardware und überprüfen Sie Ihre signal-Drähte mit einem Logic-Analyzer oder Oszilloskop.

InformationsquelleAutor M.Movaffagh | 2012-05-21

Schreibe einen Kommentar