PC といくつかのコントローラ ボードの間で通信したいと考えています。
PC が RS-485 でボードの識別子を送信し、ボードから応答を受信することが期待されます。
応答を受信しようとすると、間違ったデータを受信します。
これが私のコードです:
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();
}
RS-232 を使用している場合は機能しますが、RS-485 を使用している場合は機能しません。
アップデート :
RS-485 2線式です。( http://en.wikipedia.org/wiki/RS-485 )