这在理论上而不是在实践中更是一个问题,因为我目前无法测试它,因为我没有使用相当庞大的设备来测试我正在创建的程序。我的问题是,在没有调用SerialPort.Close()
的情况下,串口会在其生命周期内关闭吗?此外,在调用方法之前连接是否会超时?
另外,有什么理由我在发出命令时关闭它并在需要提交新命令时重新打开它或者是否可以随时保持打开状态?
答案 0 :(得分:3)
串行连接(意味着物理连接或端口对象)也不会超时。但是,如果串口是USB转换器,如果拔掉USB端会断开串口连接,可以禁用该设备。
SerialPort是IDisposable,所以如果你处理它,它将关闭。
串行超时仅在您执行读取且没有数据时才会发生。这对SerialPort设备或连接没有影响。 (串行超时也可以在写入时发生,但这种情况不太常见。只有在涉及握手且接收器阻止接收时才会发生这种情况。)