【发布时间】:2014-11-04 03:04:03
【问题描述】:
我正在尝试从 SerialPort 读取数据,而我现在要做的是每 100 毫秒轮询一次 SerialPort 并查看它是否包含任何剩余数据。
public static async Task<string> ReadRemaining(SerialPort port)
{
int prevBytesToRead = 0;
await Task.Delay(100);
while (prevBytesToRead != port.BytesToRead || port.BytesToRead == 0)
{
prevBytesToRead = port.BytesToRead;
await Task.Delay(100);
}
return port.ReadExisting();
}
我觉得这非常低效。有没有更好的办法?
【问题讨论】:
标签: c# serial-port