2011-07-19 21 views
0

いくつかの呼び出しをシリアルポートにラップするには、.NET 2.0 C#クラスライブラリを作成する必要があります。C#での非同期シリアルポート呼び出しの同期クラスライブラリ

私が知っているのは、DataReceived SerialPortオブジェクトのイベントは、読み込み可能なときにポートからデータを読み取る最良の方法です(おそらく)。

それにもかかわらず、私のクラスライブラリへの呼び出しは同期している必要があり、非同期のDataReceivedを使用することはできません。

このようなことを行うための推奨開発パターンはありますか?

おかげで、 マヌエル

+0

なぜクラスライブラリへの同期アクセスが必要ですか? UIアクセスの問題ですか? – Tigran

+0

これは、 "...私のクラスライブラリへの呼び出しは同期する必要がありますし、非同期のDataReceivedを使用することはできません。"明確化が必要です。 – dbasnett

+0

いいえ、UIへのアクセスに問題はありません。 シリアルポートへの呼び出しをラップするメソッドを持つクラス(例えばWapper)を作成する必要があり、しばらくの間、Read()を使わないでください。これらのメソッドはそれぞれ同期する必要がありますが、その中ではシリアルポートに対して非同期に読み書きする必要があります。 – Flea777

答えて

0

あなたのデータを待っている間だけで、whileループを使用します。

関連する問題