我有一个自动检测线程,它尝试按顺序打开端口并匹配接收到的数据,从而检测相关设备发送数据的端口。现在,有些端口 SerialPort.Open 只是将线程挂起约 30 秒。如何为 SerialPort.Open 函数设置超时?
最佳答案
来自 MSDN
每个 SerialPort 对象只能存在一个打开的连接。
对于任何应用程序,最佳做法是在调用 Close 方法之后等待一段时间后再尝试调用 Open 方法,因为端口可能不会立即关闭。
当您调用 Close() 时,此工作线程需要时间停止旋转并退出。未指定所需的时间量,您无法验证它是否已完成。您所能做的就是等待至少一秒钟,然后再次调用 Open()。
关于C#:SerialPort.Open 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696238/