当前位置:编程学习 > VB >>

请教, 如何实现usb2com的再检测

我自己编了一个上位机, 用usb2com和下位机通讯, 这个没有问题.
如果在串口打开的情况下, 把usb2com拔了, 这是可以从PC的硬件管理器看到这个com口没有了, 此时如果上位机软件不关闭, 再插上usb2com, 可以看到设备管理器里面闪了一下, 但该有的com号没有出现, 这时候上位机软件无法检测到com口存在. 

上位机软件不关, 关串口, 拔出, 再插, 这是上位机软件可以检测.

如果关了上位机软件, 再启动, 可定没有问题.

我的问题是, 如果上位机不关,在串口打开的情况下, 拔出, 再插, 这时候能检测, 现在不知道如何下手, 那位高手指点一下, 在usb2com非法拔出后, 如何释放...


谢谢了 --------------------编程问答-------------------- 检测通信超时,如果超时
mscomm1.portopen=false  --------------------编程问答-------------------- 你要避免非正常拔除转换器。因为你这会导致程序运行出错。且是不可避免的出错。 --------------------编程问答-------------------- 单独做个EXE测试一下,看看楼上的办法是否能关闭串口并释放资源.

直接用个按钮写入这个关闭的语句,拔掉后试试能不能关闭,将功能先测试一下再说.

如果不行,那就比较麻烦了......先试试吧. --------------------编程问答--------------------
引用 1 楼  的回复:
检测通信超时,如果超时
mscomm1.portopen=false

谢谢, 这种方法试过, 没有用 --------------------编程问答--------------------
引用 3 楼  的回复:
单独做个EXE测试一下,看看楼上的办法是否能关闭串口并释放资源.

直接用个按钮写入这个关闭的语句,拔掉后试试能不能关闭,将功能先测试一下再说.

如果不行,那就比较麻烦了......先试试吧.

我的想法就是usb2com如果usb一样, 在程序没有退出, 插上, 拔下, 再插上都能检测到.
上面说的关闭串口, 没有用, 应用程序未关闭的情况下, 即使usb2com器件再插上, 硬件管理器里面是看不到器件的, 如果打开出口, 会提示串口不存在. --------------------编程问答-------------------- 希望有人玩过, 希望在器件再插入时, 能把器件"复位"一下  --------------------编程问答-------------------- 你不应该纠结如此,要想办法。

何不用定时器一直检测串口打开状态,如果串口消失(失败)那么你就不再发送报文,下一次定时器触发时再试图打开,直到打开成功为止,再发送报文。 --------------------编程问答--------------------
引用 7 楼  的回复:
你不应该纠结如此,要想办法。

何不用定时器一直检测串口打开状态,如果串口消失(失败)那么你就不再发送报文,下一次定时器触发时再试图打开,直到打开成功为止,再发送报文。


我是用定时器定时做检测. 问题关键是, 在串口打开的情况下拔掉器件, 即使器件再插上, 也检测不到器件了(在定时器里面先关再打开也不行). --------------------编程问答-------------------- 最简单的处理办法是,要通信的时候open,通信完毕close,这样碰到的机会就会小的多
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,