serialPort端口被占用问题

master_master 2018-05-15 04:07:58
想做一个软件,用PC连接多个串口,我用tabControl实现了页面布局,如图



当我点击连接串口,断开串口后,再进行连接串口,发现串口被占用,无法再进行连接

之后找了半天,定位到问题是:连接和断开都进行了: SerialPort comm = new SerialPort();这个操作

现在不知道怎么解决这个问题,有人能帮帮我吗
...全文
825 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzone12345 2018-05-15
  • 打赏
  • 举报
回复
先搜一下有多少可以用的串口
master_master 2018-05-15
  • 打赏
  • 举报
回复
引用 10 楼 lqh18758471530 的回复:
可以尝试将SerialPort放入标签页中的Tag中,需要使用时提取当前标签页中Tag Tag中存放的是object类型的
很有用,谢谢这位大兄弟,一直以为tag只是一个标签的作用,没想到还有这么大的作用
master_master 2018-05-15
  • 打赏
  • 举报
回复
问题已经解决啦,谢谢大家
xuzuning 2018-05-15
  • 打赏
  • 举报
回复
什么叫 在使用中又添加了新的串口设备 ??? 你怎么加的?你又怎么知道又加了
大鱼> 2018-05-15
  • 打赏
  • 举报
回复
串口连接时候是需要指定串口名称的,不管你连接多少个串口名称都是不一样的,找到对应的串口名称是不会存在端口被占用的情况的
  • 打赏
  • 举报
回复
可以尝试将SerialPort放入标签页中的Tag中,需要使用时提取当前标签页中Tag Tag中存放的是object类型的
master_master 2018-05-15
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
SerialPort.GetPortNames() 不是可以取到所有串口的名字吗?
刚进入程序时已经读到了,可能在使用中又添加了新的串口设备,所以我加了一个添加按钮
xuzuning 2018-05-15
  • 打赏
  • 举报
回复
// // 摘要: // 获取当前计算机的串行端口名称数组。 // // 返回结果: // 当前计算机的串行端口名称数组。 // // 异常: // System.ComponentModel.Win32Exception: // 未能查询串行端口名称。 public static string[] GetPortNames();
xuzuning 2018-05-15
  • 打赏
  • 举报
回复
SerialPort.GetPortNames() 不是可以取到所有串口的名字吗?
master_master 2018-05-15
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
有多少个串口设备,才能实例化多少个 serialPort 不能随心所欲,要管住自己
现在是不确定有多少个串口设备,有可能这时候只有两台,下次就可能3台5台啦
master_master 2018-05-15
  • 打赏
  • 举报
回复
引用 3 楼 lyq8376 的回复:
[quote=引用 2 楼 master_master 的回复:] 不好设置全局变量,每个标签页都要用到这个变量,标签页个数还不确定
看你的截图不是只有三个标签页吗?[/quote] 底下还有添加按钮,还可以加很多很多
  • 打赏
  • 举报
回复
引用 2 楼 master_master 的回复:
不好设置全局变量,每个标签页都要用到这个变量,标签页个数还不确定
看你的截图不是只有三个标签页吗?
master_master 2018-05-15
  • 打赏
  • 举报
回复
引用 1 楼 lyq8376 的回复:
可以定义一个全局的SerialPort变量,连接和断开的时候都对这个变量进行操作
不好设置全局变量,每个标签页都要用到这个变量,标签页个数还不确定
xuzuning 2018-05-15
  • 打赏
  • 举报
回复
有多少个串口设备,才能实例化多少个 serialPort 不能随心所欲,要管住自己
  • 打赏
  • 举报
回复
可以定义一个全局的SerialPort变量,连接和断开的时候都对这个变量进行操作

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧