gpt4 book ai didi

c# - 后台线程中的串行通信

转载 作者:行者123 更新时间:2023-11-30 19:30:28 25 4
gpt4 key购买 nike

关于 arduino 板和 c# winforms 应用程序之间通信的快速问题。基本上我到目前为止所做的是类似

_serialPort = new SerialPort();
...
_serialPort.Open();
...
_serialPort.DataReceived += OnReceived;
...
private static void OnReceived(object sender, SerialDataReceivedEventArgs c)
{
// Do something
}

只要我把它放在应用程序的主线程中,它就可以工作。我的问题是是否有可能在后台线程中编写一个类,它与上面的代码(通过串口监听通信)做同样的事情。

最佳答案

只要 SerialPort 被实例化并且所有事件和操作发生在后台线程上,您就可以。

来自 MSDN:

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

因此该类不是“线程安全的”,因此尝试以多线程方式执行任何操作都不是一个好主意。

关于c# - 后台线程中的串行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9025351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com