繁体   English   中英

串行端口连接会在SerialPort.Close()方法外部关闭吗?

[英]Will a serial port connection close outside of the SerialPort.Close() method?

从理论上讲而不是在实践中这是一个问题,由于缺乏用于测试我正在创建的程序的庞大设备,我目前无法对其进行测试。 我的问题是,在不调用SerialPort.Close()情况下,串行端口是否可以关闭? 此外,在调用该方法之前,连接是否存在超时风险?

另外,是否有任何理由在发出命令后应将其关闭,而在我需要提交新命令时将其重新打开,或者始终保持打开状态安全吗?

串行连接 (意味着物理连接或端口对象)永远不会超时,即使您拔下电缆。 但是,如果串行端口是USB转换器,则在拔掉USB端会断开串行连接的情况下可以禁用该设备。

SerialPort是IDisposable的,因此如果处置它,它将关闭。

仅当您执行读取并且没有数据时,才会发生串行超时。 这对SerialPort设备或连接没有影响。 (串行超时也可能在写入时发生,但这种情况很少见。仅在涉及握手且接收方阻止接收的情况下才会发生。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM