请问用C#编程如何实现对串口进行停用和启用

alian_1126 2011-11-03 01:27:57
问题经过为:
我自己的程序打开串口后正常使用,然后退出我自己的程序,我的程序里对串口进行了Close再退出,接着关闭计算机,然后开计算机,再启动我的程序,在打开串口的时候出现异常提示“对端口COM1的访问被拒绝”,于是我在设备管理器里右键COM1进行停用再启用,之后可以正常打开串口。
于是我想,在打开串口时,如果出现被拒的情况,采取先强制停用再开启的办法排除其他占用进程。
求问各位前辈,如何用C#代码实现?
...全文
829 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
alian_1126 2011-11-25
  • 打赏
  • 举报
回复
擦下地板
alian_1126 2011-11-15
  • 打赏
  • 举报
回复
谢楼上几位,我的想法是在不管是什么程序占用串口的情况下,通过设备管理器去手动操作先停用串口再启用串口来排除掉占用它的进程,问题是在C#代码里如何实现以达到上述手动操作的效果。
freemangood 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jshi123 的回复:]
找到这个程序,然后卸载,或者设置成不要开机就运行。
[/Quote]

这个应该是症结所在了
绿领巾童鞋 2011-11-15
  • 打赏
  • 举报
回复
SerialPort.open();
SerialPort.close();
用的时候加TRY,没有端口或被占用就抛出异常。
jshi123 2011-11-14
  • 打赏
  • 举报
回复
去下个Process Explorer,打开后搜索"Serial",看看开机后端口被什么程序占了再说。
jshi123 2011-11-14
  • 打赏
  • 举报
回复
找到这个程序,然后卸载,或者设置成不要开机就运行。
alian_1126 2011-11-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jshi123 的回复:]

去下个Process Explorer,打开后搜索"Serial",看看开机后端口被什么程序占了再说。
[/Quote]哥,看到后怎么处理呢,能说下您的思路么
alian_1126 2011-11-12
  • 打赏
  • 举报
回复
alian_1126 2011-11-08
  • 打赏
  • 举报
回复
alian_1126 2011-11-04
  • 打赏
  • 举报
回复
用API呢,有可行的例子吗,来个人啊
lilin8905 2011-11-03
  • 打赏
  • 举报
回复
除非能查出现在占有串口的进程句柄,然后强制关掉
lilin8905 2011-11-03
  • 打赏
  • 举报
回复
你说的强制停用再开启的办法 貌似不能
alian_1126 2011-11-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mabaolin 的回复:]

串口进行了Close,在确定一下是否close了,如果close就可以重连了。
[/Quote]
重启计算机了,就算退出程序时没close,COM也会被释放的吧,我是重启完计算机后串口不知道被什么进程占用了
lilin8905 2011-11-03
  • 打赏
  • 举报
回复
http://blog.csdn.net/wuyazhe/article/category/695097不错的文章 可以参考一下
mabaolin 2011-11-03
  • 打赏
  • 举报
回复
串口进行了Close,在确定一下是否close了,如果close就可以重连了。

110,534

社区成员

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

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

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