0

对于我的项目,我需要与赛普拉斯 PSoC5 进行通信。我可以使用串行连接或 USB HID 连接。

我创建了一个 C# 项目,用于向/从 PSoC5 发送和读取数据。现在,如果有新数据,我正在使用串行端口的 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 回答