Private Sub Form_Load()
For i = 1 To 3
Combo1.AddItem i
Next i
MSComm1.CommPort = Combo1.Text ' 设置通信端口号(此处还提示实时错误13,类型不匹配)
MSComm1.Settings = "9600,n,8,1" ' 设置串口参数
MSComm1.InputMode = 0 ' 接收文本型数据
MSComm1.PortOpen = True ' 打开通信端口
End Sub
Private Sub Cmdsend_Click()
If Textsend.Text = "" Then
pp = MsgBox("发送的数据不能为空!")
Exit Sub
End If
MSComm1.Output = Trim(Textsend.Text)
'For i = 1 To 20000000(此处的作用是什么)
'Next i
End Sub
Private Sub Timer1_Timer()
Dim buf$
buf = Trim(MSComm1.Input) ' 将缓冲区内的数据读入buf变量中
If Len(buf) <> 0 Then '判断缓冲区内是否存在数据
TextReceive.Text = TextReceive.Text + buf + Chr(13) + Chr(10) '回车换行
End If
End Sub
Private Sub Cmdquit_Click()
MSComm1.PortOpen = False
Unload Me
End Sub
怎么改,具体点,我是初学
追答在设计窗口找到combobox1,点击它,在右下角会看到属性窗口,往下翻找到text属性,将默认值combo1改成你想要的值(1或2或3)。vb是事件驱动机制,你没编写combobox1的click事件得代码,所以点击是没有效果的,具体代码xjnzhidao同学已经回答了。
combobox 组合框中点向下箭头后显示的值
追答你还没选择,就想要打开串口了?当然会出错!
前面一部分代码这样改:
Private Sub Combo1_Click()
MSComm1.CommPort = Val(Combo1.Text)
MSComm1.Settings = "9600,n,8,1" ' 设置串口1参数
MSComm1.InputMode = 0 ' 接收文本型数据
MSComm1.PortOpen = True ' 打开通信端口
Combo1.Enabled = False
End Sub
Private Sub Form_Load()
For i = 1 To 3
Combo1.AddItem i
Next i
Combo1.Text = ""
End Sub