VB6.0串号通迅问题!

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:07:59
vb6.0中通过串口和51单片机通信!
采用的波特率为9600
发送十六进制数据:0A1BB10D
电脑端接收到单片机端数据:0C1EE1OF,0C2EE2OF,其中0C为固定开始码,0F为固定结束码,1E,2E为数据码,E1,E2为数据反码!接收到这组数据时首先检测开始码和固定码是否正确,接着检查数据码是否正确,再检测如数据码为1E时把Shape1填充为红色,如数据为2E时把Shape1填充为绿色!
请各位为我写出具体的VB代码!
多谢!

Option Explicit
Dim strData As String
Dim bytInput() As Byte
Dim sj() As Byte
Dim i As Long
Dim flagSend As Boolean

Private Sub Fsend()
ReDim sj(3)
sj(0) = &HA
sj(1) = &H1B
sj(2) = &HB1
sj(3) = &HD
MSComm1.Output = sj
End Sub

Private Sub Command1_Click()
If flagSend Then
Timer1.Enabled = False
Command1.Caption = "发送"
Else
Timer1.Enabled = True
Command1.Caption = "停止"
End If
flagSend = Not flagSend
End Sub

Private Sub Form_Load() '初始化
MSComm1.Settings = "9600,n,8,1"
MSComm1.CommPort = 1
MSComm1.RThreshold = 4
MSComm1.PortOpen = True
Timer1.Interval = 200
Timer1.Enabled = False
End Sub

Private Sub MsComm1_OnComm()
Dim intInputLen As Integer