为啥总是提示串口已打开

阿门BIT 2010-02-01 08:22:13
编程的时候机器总是提示串口已打开,无奈加了这句话
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
程序运行到该句的时候仍然提示串口已打开
这不是自我矛盾了吗,到底怎么回事呀
...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
msdtx 2010-02-25
  • 打赏
  • 举报
回复
串口是容易坏的,检查一下串口是否坏了(或在别的串口上是否运行正常)。我遇到过这种故障串口。
PIBOT 2010-02-23
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
现在还是人类 2010-02-23
  • 打赏
  • 举报
回复
用错误处理好点

on error resume next
MSComm1.PortOpen = True
If Err.Number <> 0 Then
Err.Clear
'这里是提示错误,也可以做别的处理,如关闭串口再打开
MsgBox "错误" & Err.Number & ":" & Err.Description, 16, "错误提示"
Exit Sub
End If
...
贝隆 2010-02-23
  • 打赏
  • 举报
回复
单步调试一下,看看问题出在什么地方,如果提示COM口占用,那么肯定是被打开了的
Tiger_Zhao 2010-02-02
  • 打赏
  • 举报
回复
1)其他程序打开并占用了端口
2)调试时没有执行关闭端口就直接结束
cbm6666 2010-02-01
  • 打赏
  • 举报
回复
MSComm1.CommPort = 1
这行端口号你指定了吗?

MSComm1.CommPort = 1
If MSComm1.PortOpen Then MSComm1.PortOpen = False
With MSComm1
.InBufferCount = 0
.Settings = "4800,n,8,1"
.InputLen = 0
.InputMode = 0
.InBufferCount = 0
.RThreshold = 1
End With
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True
luofenghen 2010-02-01
  • 打赏
  • 举报
回复
MSComm1.PortOpen = False
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
luofenghen 2010-02-01
  • 打赏
  • 举报
回复
最简单你前面关闭它
goosen 2010-02-01
  • 打赏
  • 举报
回复
还有代码呢..就这句怎么判断矛盾

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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