对于我的项目,我需要与赛普拉斯PSoC5进行通信。我可以使用串行连接或USB HID连接。
我创建了一个C#项目,用于向/从PSoC5发送和读取数据。现在,我正在使用serialport的ReceivedData事件,以便在有新数据时收到通知。基本上我的项目可以接收应该实时绘制的数据流,也可以只接收我想在GUI中更新的一些设置。
现在我面临的问题是ReceivedData事件经常触发(每32个字节),当有数据流时当然不好。基本上,如果我获得绘图数据,我每秒会收到24000字节。我知道我可以调整ReceivedBytesThreshold,但是我不会得到低于阈值的数据事件。
有人能说出是否有办法解决这个问题?
将PSoC5用作HID设备会是一个优势吗?
答案 0 :(得分:0)
默认情况下,SerialPort.ReadBufferSize
设置为4096字节。更多信息here。但您可以轻松更改它以容纳必要数量的数据。然后在DataReceived
事件处理程序中执行类似这样的操作
static void Serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
if (Serial.BytesToRead < 24000) return;
... //Recieve and process your data here
}
例如, 24000
在这里给出。