高分寻懂VB的mscomm控件的高手

来源:百度知道 编辑:UC知道 时间:2024/05/07 21:34:53
一个VB程序,实现窗体的图片向左,右,上,下翻转,现在利用mscomm控件来实现来自单片机的数据分别为01.02.03.04分别触发以上四个命令,如何修改这个程序呢???
最好帮我修改添加,谢谢,做出来,要几多分不在话下,现在具备的程序如下,

Dim i

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
i = 1
Timer1.Enabled = True
End Sub

Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Enabled = True
End Sub

Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
i = 2
Timer1.Enabled = True
End Sub

Private Sub Command3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
i = 3
Timer1.Enabled = True
End Sub

Private Sub Command4_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
i = 4
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Select Case i
Case 1
Picture1.Top =

描述的过于简单,你的代码与MSCOMM通信不相干.你单片机的数据分别为
01.
02.
03.
04.
吗?
是ASCII字符吗?
给段依据我理解做的代码:
Option Explicit
Dim num As Integer
Private Sub Form_Load()
MSComm1.InputLen = 0
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeText
MSComm1.RThreshold = 3
MSComm1.PortOpen = True
End Sub

Private Sub MSComm1_OnComm() '接收数据
Dim strBuff As String
Select Case MSComm1.CommEvent
Case 2
strBuff = strBuff & MSComm1.Input '
'写数判断据处理代码
If Mid(strBuff, 3, 1) = "." And Len(strBuff) = 3 Then
num = Val(Mid(strBuff, 2, 1))
strBuff = ""
Select Case num
Case 1
Picture1.Top = Picture1.Top - 10
Case 2