C# serialport打开端口后,若是UART串口,拔掉串口线后,自动释放;若是USB口,拔掉USB线,却无法释放

拔掉线后,属性IsOpen都是false,只是USB口的资源无法释放,导致再次打开后会提示端口被占用,UART口则不会,如何解决?
问题已解决,获取句柄后,关闭

第1个回答  2015-06-20
记得是有检查端口状态的函数的,另外你可以尝试close再open追问

已经说了状态是false, 再次close无效

本回答被网友采纳
第2个回答  2018-12-15
先Dispose之后再 GC,稍等一小段时间之后(GC完成)就可以再打开了。
serialPort.Dispose();
GC.Collect();
第3个回答  2023-06-30
我也遇到楼主一样的问题,请问楼主可以详细解答一下么?
第4个回答  2021-04-08
遇到题主的问题了。希望题主帮忙,求给个解决方法。c#新手

...若是UART串口,拔掉串口线后,自动释放;若是USB口,拔掉USB线,却...
记得是有检查端口状态的函数的,另外你可以尝试close再open

c#串口上位机开发,设备断电再打开
如果是USB转的串口,只要USB线不拔掉,应该也是一直存在的,ports.length也不会等于0 定时检查吧,定时器或者线程循环Sleep重检查,是否有串口了,ports.length>0了,再去尝试打开

...有2个串口(A是正规串口,B是USB转串口),serialPort,将2个串口进行通 ...
因为A是正规串口,你就算不插东西,那个串口也是存在的,而B是USB转的串口,你的USB没插上去的时候,2号串口是不存在的,不信你可以右键属性,设备管理,可以看到你电脑的串口,你拔掉A串口是不会有问题,但是B一拔掉,这个串口就没有了,所以。。。

C# 串口通信问题
1、USB串口线的信号传输不标准,写可能还好,读就不敢保证很好,我建议你就用串口线,两头都串口的。2、用SerialPort读是可以读的,看你读的方法对不对。private SerialPort m_Port = new SerialPort(portName, SerialConfiguration.WaveDetectorBaudRate, Parity.None, 0);\/\/SerialConfiguration.WaveDe...

C# 使用serialPort连接扫描枪,open时出现“连接系统上的设备没有发挥...
确认程序中是否存在其他占用串口资源的操作,比如其他程序或者线程正在使用这个串口,需要将其关闭或者释放资源后再尝试连接。重新安装串口驱动程序,可能是由于驱动程序损坏或者过期导致的问题。在代码中加入异常处理机制,当连接失败时可以显示错误信息,从而方便排除问题。总之,在使用 SerialPort 连接扫描枪时,...

C#的SerialPort类,从电子罗盘(USB转COM口),读取数据转换字符串时出现乱...
不是所有的数据都能用Encoding转为ascii码的,很多时候数据本身就是二进制,不是直接转成ascii的,具体的数据含义你需要知道通讯格式定义才行,比如说第几个字节代表什么含义。

C# SerialPort COM1口打不开, 求原因
第一:你电脑上的串口有没有接上东西?你接的如果是USB的话,就不一定是COM1哦,要去设备管理器看看。如果你什么都没接,当然打不开。第二:被别的程序占用了端口。

电脑出现usbserialport是什么意思
USB口转COM口的 一般装USB口转COM口的硬件再装了驱动就会生成了 工程上以及一些通讯中需要COM口,但是目前的笔记本都只有USB口,所以要使用COM口就装个USB转COM的小硬件,就可以使用COM口了 下载个USB转COM的驱动程序,安装后就有了,到设备管理器中查看,如有黄色的警示号(未知设备),更新一下即可...

相似回答