C#:SerialPort.Open 超时?

标签 c# serial-port

我有一个自动检测线程,它尝试按顺序打开端口并匹配接收到的数据,从而检测相关设备发送数据的端口。现在,有些端口 SerialPort.Open 只是将线程挂起约 30 秒。如何为 SerialPort.Open 函数设置超时?

最佳答案

来自 MSDN
每个 SerialPort 对象只能存在一个打开的连接。

对于任何应用程序,最佳做法是在调用 Close 方法之后等待一段时间后再尝试调用 Open 方法,因为端口可能不会立即关闭。

当您调用 Close() 时,此工作线程需要时间停止旋转并退出。未指定所需的时间量,您无法验证它是否已完成。您所能做的就是等待至少一秒钟,然后再次调用 Open()。

关于C#:SerialPort.Open 超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1696238/

相关文章:

c - RS485:设备的 ioctl 不合适

c# - 为什么访问 com 端口被拒绝?

c# - 如何在 C#/Silverlight 中实现带通滤波器

c# - 多键字典,其中只需要 1 个键来检索对象

c# - 我应该使用 .NET (System.Net.Mail) 来批量发送我的 Web 应用程序的电子邮件还是 SQL (msdb.sp_send_dbmail)?

linux - 是否有带时间戳的 Linux 串行终端?

java - 在作为 Windows 服务运行的 Java 程序中生成键盘输出

c# - 在食物成分文本中查找 "E numbers"的正则表达式

c# - 将字符串转换为 BASE62

linux - 高速串行(UART)缓冲区溢出