基于spcp技术串口实现双机通信(7)

2025-11-10

End If End Sub

Private Sub Form_Load()

If ctrMSComm.PortOpen = True Then ctrMSComm.PortOpen = False End If

RecV.Locked = True RecvHead = False RecvType = False One = False IsStr = False RStr = \

SaveFileDial.CancelError = True SendFileDial.CancelError = True End Sub

Private Sub ctrMSComm_OnComm() 'Dim RecVStr As String

If ctrMSComm.PortOpen = True Then Dim RecVByte() As Byte Dim RecvLen, i As Integer On Error GoTo ErrorHandler RecVByte = ctrMSComm.Input

For i = LBound(RecVByte) To UBound(RecVByte) If RHead Then If RType Then If IsStr Then

If RecVByte(i) = 3 Then

RecV.Text = RecV.Text & \收到:\ RStr = \

- 25 -

RHead = False RType = False IsStr = False One = False Else If One Then

b(1) = RecVByte(i)

RStr = RStr & StrConv(b, vbUnicode) One = False Else

If RecVByte(i) > 127 Then b(0) = RecVByte(i) One = True Else

RStr = RStr & Chr(RecVByte(i)) End If End If End If Else

If RecVByte(i) = 3 Then

RecV.Text = RecV.Text & \vbCrLf

SaveFileDial.FileName = \ SaveFileDial.DialogTitle = \ SaveFileDial.DefaultExt = \

SaveFileDial.Filter = \ SaveFileDial.Action = 2

Open SaveFileDial.FileName For Output As #2 Print #2, RStr

现在收到文件请选择保存路径:\保存文件\- 26 -

RecV.Text = RecV.Text & \收到文件保存在:\& SaveFileDial.FileName & vbCrLf Close #2 RStr = \ RHead = False RType = False IsStr = False One = False Else If One Then

b(1) = RecVByte(i)

RStr = RStr & StrConv(b, vbUnicode) One = False Else

If RecVByte(i) > 127 Then b(0) = RecVByte(i) One = True Else

RStr = RStr & Chr(RecVByte(i)) End If End If End If End If Else

If RecVByte(i) = 1 Then RType = True IsStr = True

ElseIf RecVByte(i) = 2 Then 'SaveFile.Enabled = True RType = True

- 27 -

IsStr = False Else

RHead = False End If End If Else

If RecVByte(i) = 0 Then RHead = True End If End If Next i ErrorHandler:

Select Case Err.Number Case 32755

RecV.Text = RecV.Text & \你没有保存收到的文件!\ RStr = \ RHead = False RType = False IsStr = False One = False End Select Else

MsgBox (\请打开串口\End If End Sub

Private Sub SendData_Click() Dim str() As Byte

Sendstr = Chr(0) + Chr(1) + SendD.Text + Chr(13) + Chr(10) + Chr(3) str = StrConv(Sendstr, vbFromUnicode) ctrMSComm.Output = str

- 28 -

End Sub

Private Sub SendFile_Click() Dim InputData, Sendstr As String Dim SendData() As Byte

SendFileDial.FileName = \SendFileDial.DefaultExt = \

SendFileDial.Filter = \On Error GoTo ErrorHandler SendFileDial.Action = 1 Sendstr = \

Open SendFileDial.FileName For Input As #1 Do While Not EOF(1)

Line Input #1, InputData

Sendstr = Sendstr + InputData + vbCrLf Loop Close #1

Sendstr = Chr(0) + Chr(2) + Sendstr + Chr(3) SendData = StrConv(Sendstr, vbFromUnicode) ctrMSComm.Output = SendData

SendD.Text = SendD.Text & \已发送文件:\ErrorHandler:

Select Case Err.Number Case 32755

SendD.Text = SendD.Text & \你选择发送文件后又取消了!\End Select End Sub

Private Sub SettingOk_Click()

If ctrMSComm.PortOpen = False Then

- 29 -


基于spcp技术串口实现双机通信(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:plc电梯毕业论文

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219