【发布时间】:2020-08-03 04:07:59
【问题描述】:
我在这里阅读了一些建议将port.BaseStream.ReadAsync() 与waith async / await 一起使用。我不清楚实现这一点的最佳方法是什么?
我是否仍然使用 event_handler 并使其异步/可等待?
private async void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] buffer = new byte[myPort.BytesToRead];
await (myPort.BaseStream.ReadAsync(buffer, 0, buffer.Length));
}
或者是事件处理程序被完全忽略,而是我在循环中调用 ReadAsync?
编辑:一旦解析,我将 1) 将数据发送到 TCP 服务器和 2) 将其写入 sq3lite 数据库。
【问题讨论】:
-
我们在问题中有一个标签系统,你不需要在标题中添加标签。
-
您能否详细说明您的问题?什么是“我的端口”?什么是“串行端口”?
-
@XiaominWu
SerialPort是 .NET 框架中用于与 COM 端口通信的类。 @user1957413,请说明您将如何使用这些数据,除非您解释您要做什么,否则我们无法告诉您如何操作。用一个示例更新您的问题,展示如何在没有 async/await 的情况下执行此操作,我们将向您展示如何使用异步 API。
标签: c# serial-port async-await