VB 中mscomm串口控件的使用。。。
如图我程序中用了一个串口控件然后添加了一个组合框现在想要实现的功能是初始化时用com1 然后可以在程序中随时通过图里显示的组合框更改com口初始化程序如下MSC...
如图 我程序中用了一个串口控件 然后添加了一个组合框 现在想要实现的功能是 初始化时 用com1 然后 可以在程序中 随时通过图里显示的组合框 更改com口 初始化程序 如下MSComm1.Settings = "9600,n,8,1" MSComm1.CommPort = 1 MSComm1.InputLen = 0 MSComm1.InBufferSize = 1 MSComm1.InBufferCount = 0 MSComm1.OutBufferSize = 1 MSComm1.OutBufferCount = 0 MSComm1.RThreshold = 0 MSComm1.SThreshold = 0 MSComm1.PortOpen = True组合框程序如下 Private Sub Combo1_Click() MSComm1.PortOpen = False MSComm1.CommPort = Combo1.ListIndex + 1 MSComm1.PortOpen = True 'MsgBox MSComm1.CommPortEnd Sub但是 一运行的时候 总是提示我设备已打开 请问 高手 要怎么弄才能实现我要的功能。
展开
4个回答
展开全部
你这种情况, 很明显是端口被某程序占用了, 如果你的电脑没有什么特殊的程式或现在有的连接,那通常是你目前程式并没有完全结束,同任务管理器看看. 建议先做好端口扫描, 然后依据逐个端口测试未使用..
写这种程序楼主一定要注意下面几点即可, 特别是当你对整个数据流向不是很清楚的情况下:
1:异常处理, 特别是连接端口前, 端口的状态判定.
2:超时异常一定要设置好.
3:程序关闭或异常时一定加入端口状态设定
4:另外程序设定为仅能开启一个实例. (主要是为了防止多开导致端口占用)
异常的回显信息设定一定要明确,这个时候出错你才知道怎么回事. 单单依靠系统错误很多时候是不明所以然的.
以前我写这类控制程序,60%以上代码都是在做过程异常处理, 端口检测之类的.
写这种程序楼主一定要注意下面几点即可, 特别是当你对整个数据流向不是很清楚的情况下:
1:异常处理, 特别是连接端口前, 端口的状态判定.
2:超时异常一定要设置好.
3:程序关闭或异常时一定加入端口状态设定
4:另外程序设定为仅能开启一个实例. (主要是为了防止多开导致端口占用)
异常的回显信息设定一定要明确,这个时候出错你才知道怎么回事. 单单依靠系统错误很多时候是不明所以然的.
以前我写这类控制程序,60%以上代码都是在做过程异常处理, 端口检测之类的.
展开全部
com1被其他软件占用或你的程序调试时异常,com口打开未关闭,重启一下电脑。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-18
展开全部
你这个串口初始化程序段放哪里的?
VB 程序调试 很简单的
推荐看书
Visual_Basic与_RS-232_串行通信控制
VB 程序调试 很简单的
推荐看书
Visual_Basic与_RS-232_串行通信控制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询