端口的访问被拒绝的问题

a1988lourong 2014-10-27 12:31:26
上周六还可以正常使用
今天就访问被拒绝了。
winform, 有一个单独的设置并打开串口的窗体,单步运行的时候可以看到串口一开始是关闭的,open后就打开了,到最后关闭当前串口窗体的时候,串口的IsOpen属性都是true。但是,在另外的地方调用它的时候,就提示端口被关闭。在调用前写一句打开串口的语句,就提示端口的访问被拒绝。
同样的代码,怎么突然就不能正常打开串口了?
...全文
4056 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
a1988lourong 2014-11-04
  • 打赏
  • 举报
回复
同一个串口重复被打开了,谢谢各位
於黾 2014-10-28
  • 打赏
  • 举报
回复
你想在子窗体里控制串口打开关闭没有问题 但是你的串口对象必须是操作的同一个 也就是说,要么把串口对象定义成全局的,比如放在program.cs里,不管主窗体还是子窗体都直接用这个对象 要么就在打开子窗体的时候将对象传入,比如将mainform中的port对象传递给form2的变量,然后form2操作这个变量 port对象是个引用类型,所以你在form2里不重新new的话,其实操作的是同一个对象.
我不懂电脑 2014-10-27
  • 打赏
  • 举报
回复
重启软件和硬件后,再试
a1988lourong 2014-10-27
  • 打赏
  • 举报
回复
有点深奥·····之前确实是在主窗体里放着,后来想为串口单独开个窗口才放到了子窗体里,要是放子窗体里有办法让正常使用吗
於黾 2014-10-27
  • 打赏
  • 举报
回复
要放form里,你必须放到主窗体里,而不是放到子窗体里去 你放到form2里去,还敢说全局都用的同一个变量... 那不是每打开一次form2,都是一个新的变量了吗
a1988lourong 2014-10-27
  • 打赏
  • 举报
回复
在form.cs里,每次调用都先实例化form了
於黾 2014-10-27
  • 打赏
  • 举报
回复
如果你把对象定义在Common.cs里,你应该用单例或静态类 不能每次使用都实例化一个出来,那样操作的就不是同一个对象了
於黾 2014-10-27
  • 打赏
  • 举报
回复
那么既然你说全局都用的同一个对象,这个对象定义在哪里 是在program.cs里,还是在form.cs里,还是Common.cs里?
a1988lourong 2014-10-27
  • 打赏
  • 举报
回复
只有一个,全局都用的同一个对象
於黾 2014-10-27
  • 打赏
  • 举报
回复
这跟你调用串口的方法写在哪里没啥关系 问题就是,你的串口对象到底有几个,是全局都使用同一个对象,还是在Common.cs里定义了一个,在form里又定义了一个
a1988lourong 2014-10-27
  • 打赏
  • 举报
回复
用的AccessPort,串口本身没有问题。 在设置串口的窗体,把判断改成如果串口是打开状态,就把串口关闭,和leafmao 的意思一样,在别的地方open就可以成功了。但是我调用串口是在Common.cs的一个公共方法里,在这里写个Form.serial.open()并不是我期望的。
Pigeon汪 2014-10-27
  • 打赏
  • 举报
回复
一般是只在主窗体中设置一个串口的全局变量,串口的打开与关闭也只在主窗体中执行,其它窗口只是调用这个全局变量来发送数据。 如果在串口还未被关闭并释放的情况再调用串口的打开方法,肯定会报错的。
於黾 2014-10-27
  • 打赏
  • 举报
回复
如果你确定硬件没问题的话 找找软件原因 你在主窗体中用的时候,跟打开的窗体中用的是同一个对象吗? 比如你在子窗体中打开了COM1,那么这个COM对象是全局的,或者传递到主窗体中用,还是在主窗体中重新new了个COM对象,又去重复打开COM1??
leafmao 2014-10-27
  • 打赏
  • 举报
回复
关闭当前窗体前判断下串口是否被打开,是就关掉。这样别的地方就好调用了
於黾 2014-10-27
  • 打赏
  • 举报
回复
你先用串口调试助手,或者COMMIX之类的软件,先测试串口到底有没有问题 串口有问题,找硬件维修的地方去修理,或者换个串口卡 硬件没问题,你再纠结软件到底被谁改了
xian_wwq 2014-10-27
  • 打赏
  • 举报
回复
找第三方工具再试试
a1988lourong 2014-10-27
  • 打赏
  • 举报
回复
还是不行······

111,097

社区成员

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

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

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