C# 如何释放串口

C# 如何释放串口,第1张

1. 先判断在关闭原先串口 com:

if (com != null)

{

com.Close()

}

2. 然后重新new,在打开串口:

com = new System.IO.Ports.SerialPort(strComName) //strComName串口名

com.Open()

// ...设置属性

// ...绑定串口接收函数。

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False

End Sub

在快速关闭过程中关闭串口就可以了。

要么就是在打开串口的地方判断如果出错就直接关闭串口再打开。

莫非你程序中用了 DoEvents ?

如果这样,你试试在快速结束过程里面加Unload Me吧。

修改1:

不建议用DoEvents,建议改用定时器来实现延时。

详情请看另一贴的回复。

要么在快速结束里面添加一行receive = 1,但receive 必须是全局变量。

串口被占用解决方法:

1、回到电脑主界面,右键单击这台电脑--属性,如下图所示

2、点击设备管理器进入,如下图所示

3、设备管理器找到冲突的串口,如下图所示

4、右键单击串口,选择属性,如下图所示

5、属性面板点击端口选项卡,如下图所示

6、端口设置界面点击高级设置,如下图所示

7、高级设置界面,点击i串口编号后面的箭头,选择空余未运行的串口,如下图所示

8、闲置串口选定后,点击确定,如下图所示

9、出现提示,点击OK,如下图所示

10、冲突串口强行修改成功,如下图所示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11686105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存