2009-07-08 6 views
1

the .Net 2.0 serialport classを使用してRS232の作業を行いました。私は今日まで、それに悩まされたことはありません。rs232からrs485への変換を使用して、.net 2.0でシリアルデータを受信できません

私は、RS485プロトコルを使用する社内ハードウェアと通信しています。私はB & BエレクトロニクスからRS232 to RS485コンバータデバイスを使用しています。

データをうまく送信し、相手側で受信したことを確認できます。しかし、私のdata_receivedイベントは決して起動せず、BytesToReadを使用しても何も戻ってくることはありません。

ReadExistingも空になります。

私たちは232Analyzerを起動し、そのアプリケーションでパケットを送受信できます。私はこれが.Net 2.0シリアルクラスと関係があると仮定しています。

答えて

5

それは、これを設定すること(研究と試みる時間後)判明:

.DtrEnable = Trueの

トリックをしました。以前はDTRプロパティを使用したことはありませんでしたが、これが私が作業しているこのデバイスの問題か、それとも私が行方不明の何かの問題かどうかは、それでした。

これは、他の人が頭を下げて道路を救うかもしれないと思いました。

+0

".RtsEnable = True"も必要な場合があります。 –

+0

デバイスでDTRが有効になっている必要がある可能性があります。 DTR(データターミナルレディ)は、接続されたデバイスに、準備ができていることを知らせるため、この目的でよく使用されます。デバイス自体がDTRのコンプリメンタリーライン、つまりDSR(データセットレディ)をオンにしていて、それ自体が接続されていることを知らせるなら、私は驚くことはありません。 – Andy

1

2.0と3.5のシリアルポートコードはかなりフレークであることが知られています。

いくつかの既知の問題があります。おそらくthis oneがあなたの症状と一致しますか?

関連する問題