⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.frm

📁 自己写的串口调试
💻 FRM
字号:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   3690
   ClientLeft      =   60
   ClientTop       =   450
   ClientWidth     =   7455
   LinkTopic       =   "Form1"
   ScaleHeight     =   3690
   ScaleWidth      =   7455
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command4 
      Caption         =   "测试时用到的"
      Height          =   495
      Left            =   1920
      TabIndex        =   3
      Top             =   1920
      Width           =   1335
   End
   Begin VB.CommandButton Command3 
      Caption         =   "发送"
      Height          =   375
      Left            =   5280
      TabIndex        =   2
      Top             =   2040
      Width           =   615
   End
   Begin MSCommLib.MSComm MSComm1 
      Left            =   0
      Top             =   3600
      _ExtentX        =   1005
      _ExtentY        =   1005
      _Version        =   393216
      DTREnable       =   -1  'True
   End
   Begin VB.TextBox txtJS 
      Height          =   855
      Left            =   1200
      TabIndex        =   1
      Top             =   2640
      Width           =   5415
   End
   Begin VB.TextBox txtFS 
      Height          =   975
      Left            =   1200
      TabIndex        =   0
      Top             =   840
      Width           =   5295
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command3_Click()
    Dim i As Integer
    Dim strData As String
    Dim brece() As Byte
    buffer = Change(Trim(txtFS.Text))
    MSComm1.Output = buffer
  
    dblEndTime = Timer + 1
    MSComm1.OutBufferCount = 0              '清空发送缓冲区
    MSComm1.InBufferCount = 0               '滑空接收缓冲区
    MSComm1.InputMode = comInputModeBinary
    
  Do While dblEndTime > Timer
      DoEvents
  Loop
  ReDim brece(MSComm1.InBufferCount)
  brece = MSComm1.Input
    For i = LBound(brece) To UBound(brece)
     If Len(Hex(brece(i))) = 1 Then
        strData = strData & "0" & Hex(brece(i))
     Else
       strData = strData & Hex(brece(i))
    End If
 

'02 54 01 04 40 01 30 4B 03
Next
   txtJS.Text = strData
End Sub
Private Function Change(temStr As String)
    Dim data() As Byte
    Dim temS As String
    For i = 1 To Len(temStr)
        If Mid(temStr, i, 1) = " " Then
        Else
            temS = temS & Mid(temStr, i, 1)
        End If
    Next i
    ReDim data(Len(temS)) As Byte
    For j = 1 To Len(temS)
        If j Mod 2 = 0 Then
            data(Int((j - 1) / 2)) = data(Int((j - 1) / 2)) + ConvertHexChr(Mid(temS, j, 1))
        Else
            data(Int((j - 1) / 2)) = data(Int((j - 1) / 2)) + ConvertHexChr(Mid(temS, j, 1)) * 16
        End If
    Next j
    Change = data
End Function
Private Function ConvertHexChr(Str As String)
    Dim test As Integer
    
    test = Asc(Str)
    If test >= Asc("0") And test <= Asc("9") Then
        test = test - Asc("0")
    ElseIf test >= Asc("a") And test <= Asc("f") Then
        test = test - Asc("a") + 10
    ElseIf test >= Asc("A") And test <= Asc("F") Then
        test = test - Asc("A") + 10
    Else
        test = -1                                       '出错信息
    End If
    ConvertHexChr = test
    
End Function

Private Sub Command4_Click()


Dim buffer As Variant
Dim data(19) As Byte, brece() As Byte
Dim i As Integer
Dim strData As String
'02 54 01 01 05 40 01 4A 81 E5 03 02 54 01 04 40 01 30 4B 03
  data(0) = &H2
  data(1) = &H54
  data(2) = &H1
  data(3) = &H1
  data(4) = &H5
  data(5) = &H40
  data(6) = &H1
  data(7) = &H4A
  data(8) = &H81
  data(9) = &HE5
  data(10) = &H3
  data(11) = &H2
  data(12) = &H54
  data(13) = &H1
  data(14) = &H4
  data(15) = &H40
  data(16) = &H1
  data(17) = &H30
  data(18) = &H4B
  data(19) = &H3
  
  buffer = data
  MSComm1.Output = buffer
  
    dblEndTime = Timer + 1
  Do While dblEndTime > Timer
      DoEvents
  Loop
  ReDim brece(MSComm1.InBufferCount)
  brece = MSComm1.Input
  For i = LBound(brece) To UBound(brece)
     If Len(Hex(brece(i))) = 1 Then
        strData = strData & "0" & Hex(brece(i))
     Else
       strData = strData & Hex(brece(i))
    End If
 

'02 54 01 04 40 01 30 4B 03
Next
   txtJS.Text = strData

End Sub

Private Sub Form_Load()
Dim Fs() As Byte
Dim Ss() As Byte
Dim Tint As Integer
MSComm1.CommPort = 1                    '设定com2
If MSComm1.PortOpen = False Then
MSComm1.Settings = "9600,n,8,1"         '9600波特率,无校验,8位数据位,1位停止位
MSComm1.PortOpen = True                 '打开串口
End If
'mscomm1.InputMode
MSComm1.OutBufferCount = 0              '清空发送缓冲区
MSComm1.InBufferCount = 0               '滑空接收缓冲区
Tint = Len(Trim(txtFS.Text))


'For i = 1 To Tint
'
'Next i
Dim sStr As String
MSComm1.InputMode = comInputModeBinary
MSComm1.Output = "025401010540014A81E503025401044001304B03"
'02 54 01 01 05 40 01 4A 81 E5 03 02 54 01 04 40 01 30 4B 03
ReDim Fs(Tint)
End Sub





















































'Tint = (Len("02 54 01 01 05 40 01 4A 81 E5 03 02 54 01 04 40 01 30 4B 03") + 1) / 3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -