1

シリアルポート経由でメッセージを読み取ろうとしています (RS-422 を USB でコンピュータに接続)

問題は、このタイプのケーブルが 2 本あることです。

1 つは 422 への USB ストレートで、もう 1 つは RS-232 から RS-422 へのアダプターを備えた USB-RS-232 ケーブルです。

すべてのドライバーをインストールしました。次の行を書きます:m_Pod.read(response, 0, 1000);どこm_Podに SerialPort オブジェクトがありresponse、byte[] に読み取ったメッセージを保存します。

この行は、データが受信された場合にメッセージを読み取るイベントです。

最初のコネクタは正常に動作し、イベントが発生したときにメッセージを読みました。ただし、2 番目のコネクタは機能しません。イベントは発生しません。メッセージを手動で読もうとすると、本来の長いメッセージではなく、乱数 (63) が返されます。

これは 2 番目のアダプターの写真です: http://oi50.tinypic.com/34nh4kz.jpg

右側が USB から RS-232、左側が RS-232 から RS-422 です。

4

1 に答える 1

1

Handshake プロパティで遊んでみましたか? http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.handshake.aspx アダプターが使用/提供している信号によっては、ソフトウェア/ハードウェア ハンドシェイクから選択する必要がある場合があります。

于 2013-03-04T19:23:20.097 に答える