STM32虚拟串口的串口调试助手 STM32断电以后会自动退出!

2019-10-15 22:00发布

原子的XCOM V2.0就不会有这个现象,都是串口没了软件就自动检测到串口消失!我自己写的上位机就会出现,串口没了的话,软件就会自动关闭崩溃掉!

我看了别人的方法,我试了一下,有的时候能自动检测,有的时候还是会自动关闭软件!
        protected override void WndProc(ref Message m)
        {
            if (m.Msg ==  Detection.UsbSet.WM_DEVICE_CHANGE)        // 捕获USB设备的拔出消息WM_DEVICECHANGE
            {
                try
                {
                    comPort.Close();
                }
                catch { }
                if (Detection.GetComNum() != null)
                {
                    try
                    {
                        comPort.PortName = Detection.GetComNum();
                        comPort.BaudRate = Setting.ComSet.comBaudRate;
                        comPort.Open();
                    }
                    catch
                    {
                        comPort.Close();
                        comPort.Open();
                    }
                }
                else
                {
                    comPort.Close();
                }         
            }
            base.WndProc(ref m);
        }


请问有没有 办法解决!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
dtlz
1楼-- · 2019-10-16 16:22
如果这个串口没有了,你再操作,那会报错的,只需要在软件上开启错误检测,在错误时跳至错误处理,就可以
jinghong21
2楼-- · 2019-10-16 20:09
dtlz 发表于 2016-12-27 13:33
如果这个串口没有了,你再操作,那会报错的,只需要在软件上开启错误检测,在错误时跳至错误处理,就可以

你好,我现在是能检测到虚拟串口被拔出的,不过现在需要串口再次插上去的时候,能够再次使用,这个就不好弄了,因为拔掉之前的串口状态是Open着的,串口再插上去不管你Open()还是Close()软件都会出问题!
我描述的不太清楚,不过我不清楚你说的错误处理,应该怎么处理?释放串口资源吗?

一周热门 更多>