登录
首页 电脑编程
回帖 发帖
正文

主题:VB串口问题?

点击:1807 回复:6

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" 要求对象?
希望知道的朋友说说?
09-04-02 19:32
1、有没有添加MSComm1控件?
2、电脑是否有COM4通讯端口
09-04-02 21:34
这个不是前段时间发过吗?还没解决?
MSComm1.Output = txtSend.Text2   text2是什么?
09-04-03 09:30
txtRecive.Text1 = instring
还有这句的text1,以及,你可能在控件是txtreceive,但这里写的是txtrecive?
09-04-03 09:45
调试的时候出错会在那句停下来的,仔细检查那句好了.
09-04-03 09:47
另外还有,你的instring和nowstring看似在form里定义,实际form里的只能在form里用.在oncomm里的是另一个变量了.是属于过程的局部变量.而且在oncomm再次进入时,instring等会被清空,所以你可能得不到你想要的传人数据拼接起来.倒不如你以前(好像3.24发的)那个用txt接收,因为text控件的数据属于全局的.
当然你也可以在全局里定义instring什么的.
最后修改:2009-4-3 9:56:10
09-04-03 09:53
谢谢大家指点,后来检查主要的原因是文本框的设置上错误,也就是txtRecive.Text1 = instring这句,改成了TEXT1.Text=instring,之后就行了。
09-04-04 08:45

工控新闻

更多新闻资讯