您现在所在的是:

电脑编程

回帖:6个,阅读:1774 [上一页] [1] [下一页]
* 帖子主题:

VB串口问题?

1057
iciad
文章数:76
年度积分:50
历史总积分:1057
注册时间:2008/11/14
发站内信
发表于:2009/4/2 19:32:39
#0楼
Private Sub Command2_Click()
MSComm1.PortOpen = False
End
End Sub

Private Sub Form_Load()
Dim nowstring As Variant
Dim instring As String
MSComm1.CommPort = 4  '用MSCOMM控件的COMMPORT属性定义使用COM4口
MSComm1.Settings = "4800,N,8,1" '定义串口的数据格式:4800 bit/s,无奇偶效验位,8位数据,一个停止位
MSComm1.InputLen = 1          '空间读入整个缓冲区
MSComm1.RThreshold = 1          '当接收到一个字符后,触发ONCOMM事件
MSComm1.PortOpen = True
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
      Case comEvReceive                 '接收字符的事件触发
      nowstring = MSComm1.Input
      instring = instring + nowstring
      txtRecive.Text1 = instring
End Select
End Sub
Private Sub 开始_Click()
MSComm1.Output = txtSend.Text2
End Sub
老是出现实时错误,"424" 要求对象?
希望知道的朋友说说?

常胜者,既不过份悲观,也不过份乐观。他的危机意识是用来化除危机;他的希望源自于知道未来永远有好转的可能。
2136
gk528
文章数:482
年度积分:50
历史总积分:2136
注册时间:2008/6/21
发站内信
发表于:2009/4/2 21:34:11
#1楼
1、有没有添加MSComm1控件?
2、电脑是否有COM4通讯端口
528工控科技 串口 以太网 通讯 MODBUS
19184
pqsh 版主
文章数:7417
年度积分:1014
历史总积分:19184
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2009/4/3 9:30:52
#2楼
这个不是前段时间发过吗?还没解决?
MSComm1.Output = txtSend.Text2   text2是什么?
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
19184
pqsh 版主
文章数:7417
年度积分:1014
历史总积分:19184
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2009/4/3 9:45:51
#3楼
txtRecive.Text1 = instring
还有这句的text1,以及,你可能在控件是txtreceive,但这里写的是txtrecive?
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
19184
pqsh 版主
文章数:7417
年度积分:1014
历史总积分:19184
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2009/4/3 9:47:36
#4楼
调试的时候出错会在那句停下来的,仔细检查那句好了.
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
19184
pqsh 版主
文章数:7417
年度积分:1014
历史总积分:19184
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2009/4/3 9:53:58
#5楼
另外还有,你的instring和nowstring看似在form里定义,实际form里的只能在form里用.在oncomm里的是另一个变量了.是属于过程的局部变量.而且在oncomm再次进入时,instring等会被清空,所以你可能得不到你想要的传人数据拼接起来.倒不如你以前(好像3.24发的)那个用txt接收,因为text控件的数据属于全局的.
当然你也可以在全局里定义instring什么的.
[此贴子已经被作者于2009-4-3 9:56:10编辑过]
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
1057
iciad
文章数:76
年度积分:50
历史总积分:1057
注册时间:2008/11/14
发站内信
发表于:2009/4/4 8:45:09
#6楼
谢谢大家指点,后来检查主要的原因是文本框的设置上错误,也就是txtRecive.Text1 = instring这句,改成了TEXT1.Text=instring,之后就行了。
常胜者,既不过份悲观,也不过份乐观。他的危机意识是用来化除危机;他的希望源自于知道未来永远有好转的可能。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003