C#异步串行通信

本文关键字:通信 异步 | 更新日期: 2023-09-27 18:23:56

我正在从串行设备读取数据。该软件应该做一些我称之为实时监控的事情。该设备是汽车上的电子控制单元。

在我的GUI上,我想启动监控。为了获得数据,需要向ECU发送一个3字节的数组。之后,ECU用数据包进行回复。这个数组应该被解析并返回给主线程进行进一步处理。然后应该向ECU发送一个新的请求,接收数据,解析后发送回主线程等等。一遍又一遍,直到我停止线程。

最好的方法是什么?对于asyncawaitBackgroundworkerTask还是TaskFactory?哪一个最适合.NET串行端口类?

C#异步串行通信

当在异步请求中调用同步调用时,您可以忽略线程和回调,因为状态为Maschine的Task类将为您创建一个新线程,可以在"等待"中进行阻塞调用