CF2.0のC#でシリアルポートと通信するために書いたコードを見直しています。 信頼できないため、私はDataReceivedイベントを使用していません。 MSDN states that:シリアルポート通信:シリアルポートを使用してシリアルポートをポーリングするDataReceivedイベント
DataReceivedイベントは、受け取ったすべてのバイト 用に飼育される gauranteedではありません。 BytesToReadプロパティ を使用して、 にバッファに読み込まれるデータの量を決定します。
私はread()でポートをポーリングし、読み取り時にデータを処理するデリゲートを持っています。私はまた、「ポーリングは悪い」(説明はありません)というどこかを読んでいます。
ポーリングが悪い理由は何ですか?私は別のスレッド(バックグラウンドスレッド)を持ってポートをポーリングし、スレッドはデータが読み込まれた後に終了し、すべてテストされ、うまく動作します。
もちろん、これも私の経験です。 – Andy