0

私のプロジェクトでは、Cypress PSoC5 と通信する必要があります。シリアル接続または USB HID 接続を使用できます。

PSoC5 との間でデータを送受信するための C# プロジェクトを作成しました。現在、シリアルポートの ReceivedData イベントを使用して、新しいデータがあるかどうかを通知しています。基本的に、私のプロジェクトは、リアルタイムでプロットする必要があるデータストリームを受け取るか、GUI 内で更新したいいくつかの設定を受け取ることができます。

現在、ReceivedData イベントが非常に頻繁に (32 バイトごとに) 発生するという問題に直面しています。これはもちろん、データストリームがある場合には良くありません。基本的に、プロットのデータを取得すると、毎秒 24000 バイトを受け取ります。ReceivedBytesThreshold を調整できることはわかっていますが、しきい値を下回るデータのイベントを取得できません。

これを処理するアプローチがあるかどうかは誰にもわかりますか?

代わりに PSoC5 を HID デバイスとして使用する利点はありますか?

4

1 に答える 1

0

デフォルトSerialPort.ReadBufferSizeでは 4096 バイトに設定されています。詳細はこちら。ただし、必要な量のデータに対応するように簡単に変更できます。次に、DataReceivedイベントハンドラーで次のようなことを行います

 static void Serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {

       if (Serial.BytesToRead < 24000) return;

               ... //Recieve and process your data here
    }

24000ここに例を示します。

于 2013-10-02T16:51:16.223 に答える