Foxtable(狐表)用户栏目专家坐堂 → 关闭串口报错


  共有4315人关注过本帖树形打印复制链接

主题:关闭串口报错

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 10:46:00 [显示全部帖子]

放到窗口按钮里点击有没有问题?放到命令窗口执行有没有问题?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 14:58:00 [显示全部帖子]

假死的可能程序还在执行什么代码,等一段时间看看能不能结束

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 15:27:00 [显示全部帖子]

他是写错串口名称。

试试每次接收完毕数据后添加一句:Application.DoEvents

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/23 17:27:00 [显示全部帖子]

不关闭串口,直接退出窗口,等窗口关闭后,再另外关闭串口有没有问题?

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/24 8:57:00 [显示全部帖子]

解决方法就是
1、不要关闭串口
2、使用变量控制DataReceived事件是否接收内容,比如

DataReceived事件
if vars("do") = true
接收数据
end if

窗口 afterclose 事件
vars("do") = false

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/24 10:09:00 [显示全部帖子]

直接到命令窗口测试开启和关闭窗口有没有问题?

检查串口设备的开发文档,看看是不是需要先发送什么数据让硬件停止发送数据,再关闭串口

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/24 12:09:00 [显示全部帖子]

DataReceived事件完整代码发上来看看

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/24 14:29:00 [显示全部帖子]

1、试试去掉给图片框赋值的代码,看看是不是图片框的问题
2、不要开启窗口计时器,测试有没有问题?
3、关闭串口这样试试
e.Form.TimerEnabled = False
Application.DoEvents
system.threading.thread.sleep(1000)
If ports.Contains("COM1") = True AndAlso Ports("COM1").IsOpen Then
    try
Ports("COM1").Close()
Catch ex As Exception
    MessageBox.Show(ex.message)
End try
End If

另外确定COM1这个串口是存在的?

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/24 16:03:00 [显示全部帖子]

用串门测试工具打开和关闭串口都没有问题?

新建一个项目测试有没有问题?

不写任何接收数据的代码,也就是窗口计时器和DataReceived事件都不写任何代码,直接打开串口,然后等待几分钟关闭串口有没有问题?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110652 积分:563174 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/25 8:45:00 [显示全部帖子]

试试设置一下串口的不同属性:http://www.foxtable.com/webhelp/topics/1976.htm

 回到顶部
总数 11 1 2 下一页