当物理断开 USB 端口上的串行电缆时,C# SerialPort.IsOpen 返回 true。
任何人都可以帮助我如何克服这个问题。
这不是串行端口的工作方式,它们没有像 TCP 这样的标准面向连接的协议。 “IsOpen”名称的选择并非偶然,它并不表示“Connected”,仅表示 Open() 调用成功,并且在程序退出时调用 Close() 方法可能是个好主意。
运气好的话,您应该可以看到 SerialPort.DsrHolding 属性false当您断开电缆或关闭设备电源时。 SerialPort.CtsHolding 应该指示设备已准备好接收数据。这些硬件握手信号并不总是正确实现,并且当电缆由于电噪声而断开时,它们可能会给出错误指示。
否则就没有充分的理由断开电缆,并且没有人意识到这一点,串行端口电缆总是很短。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)