流程:打开串口,拔掉USB线,此时查看serialport1.IsOpen是false,但是再次打开串口失败,如何解决?
经查,发现close操作并未生效,串口资源一直被占用
1. 先判断在关闭原先串口 com:
if (com != null)2. 然后重新new,在打开串口:
com = new System.IO.Ports.SerialPort(strComName); //strComName串口名if (com != null)
{
com.Close();
}
1. 这个是无效的,com != null 肯定是true
2. 如果用的是serialport控件呢
虽然不知道你想做什么, 我想问的是上面的方法你试过了吗,还有问题吗?
追问已试,无效
因为对应的COM口被占用了(没有成功释放)
一直这么用,刚还试了也没发现有问题,你把你打开串口的整个函数代码发上来看看