📄 form1.frm
字号:
VERSION 5.00
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "COMCTL32.OCX"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 7740
ClientLeft = 165
ClientTop = 450
ClientWidth = 8970
LinkTopic = "Form1"
ScaleHeight = 7740
ScaleWidth = 8970
StartUpPosition = 2 '屏幕中心
Begin ComctlLib.StatusBar StatusBar1
Align = 2 'Align Bottom
Height = 375
Left = 0
TabIndex = 6
Top = 7365
Width = 8970
_ExtentX = 15822
_ExtentY = 661
SimpleText = ""
_Version = 327682
BeginProperty Panels {0713E89E-850A-101B-AFC0-4210102A8DA7}
NumPanels = 2
BeginProperty Panel1 {0713E89F-850A-101B-AFC0-4210102A8DA7}
Key = ""
Object.Tag = ""
EndProperty
BeginProperty Panel2 {0713E89F-850A-101B-AFC0-4210102A8DA7}
Text = "ErrorCount=0"
TextSave = "ErrorCount=0"
Key = ""
Object.Tag = ""
EndProperty
EndProperty
End
Begin VB.TextBox TxtErr
Height = 375
Left = 7560
TabIndex = 4
Top = 6840
Width = 975
End
Begin VB.ListBox List1
Height = 6000
Left = 240
TabIndex = 3
Top = 720
Width = 8295
End
Begin VB.CommandButton CmdClear
Caption = "Clear"
Height = 375
Left = 7200
TabIndex = 2
Top = 240
Width = 1095
End
Begin VB.CommandButton CmdClose
Caption = "Close"
Height = 375
Left = 6000
TabIndex = 1
Top = 240
Width = 1095
End
Begin VB.CheckBox ChkTest
Caption = "Test"
Height = 375
Left = 360
TabIndex = 0
Top = 240
Width = 735
End
Begin VB.Label Label3
Caption = "ErrorCount"
Height = 255
Left = 6240
TabIndex = 5
Top = 6960
Width = 1095
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim i, mLength, mTestCount, mErrCnt, mStep, mTotal As Long
Dim speed As Double
Dim IsOpen As Byte
'测试
Private Sub ChkTest_Click()
Dim mBuffer As mBuf
Dim mReadBuf As mBuf
If (ChkTest.Value = 1) Then
If (Not IsOpen) Then
IsOpen = mOpenDevice()
If (Not IsOpen) Then
Exit Sub
End If
End If
mErrCnt = 0
StatusBar1.Panels.Item(1).Text = "Testing..."
TxtErr.Text = mErrCnt
List1.AddItem ("*** Step-0: notice MCU start test ")
Call SetCurSel
mBuffer.mBuff(0) = TEST_START ' 我们在计算机和单片机的应用程序之间约定下传数据的首字节是命令码
mTotal = 1
On Error Resume Next
If (CH375WriteData(0, mBuffer, mTotal)) Then '发送成功
List1.AddItem ("start test now")
Call SetCurSel
Else ' 写操作失败
mErrCnt = mErrCnt + 1
List1.AddItem ("S0-T0 CH375WriteData return error, length=1")
Call SetCurSel
End If
Call Wait
mBuffer.mBuff(0) = TEST_START
mTotal = 1
On Error Resume Next
If (CH375WriteData(0, mBuffer, mTotal)) Then ' 发送成功
Else ' 写操作失败
mErrCnt = mErrCnt + 1
List1.AddItem ("S0-T1 CH375WriteData return error, length=1")
End If
Call Wait
'************************correctness test*********************************
List1.AddItem ("*** Step-1: test data correctness: 2000 times, random length and data")
Call SetCurSel
On Error Resume Next
For mTestCount = 0 To 1999 ' 循环测试
mStep = mTestCount And &H3
Select Case mStep
Case 0
For i = 0 To 63 ' 发送全00H/返回全FFH
mBuffer.mBuff(i) = &H0
Next i
Case 1
For i = 0 To 63
mBuffer.mBuff(i) = &HFF ' 发送全FFH/返回全00H
Next i
Case Else
For i = 0 To 63
mBuffer.mBuff(i) = Int((255 * Rnd) + 1) ' 发送随机数/返回位反码
Next i
End Select
mBuffer.mBuff(0) = TEST_DATA
mTotal = Int((100 * Rnd) + 1) ' 随机数长度
mTotal = mTotal Mod 100
If (mTotal = 0 Or mTotal > 64) Then
mTotal = (mTotal And &H1)
If (mTotal >= 1) Then
mTotal = 64
Else
mTotal = 63
End If
End If
Dim strtempcrr As String
strtempcrr = "Cnt=" & mTestCount & ",Len=" & mTotal & ",Data: " & Hex(mBuffer.mBuff(0)) & "," & Hex(mBuffer.mBuff(1)) & "," & Hex(mBuffer.mBuff(2)) & "," & Hex(mBuffer.mBuff(3))
List1.AddItem (strtempcrr)
On Error Resume Next
If (CH375WriteData(0, mBuffer, mTotal)) Then ' 发送成功
mLength = 64
If (CH375ReadData(0, mReadBuf, mLength)) Then ' 接收成功
If (mLength <> mTotal Or mLength = 0) Then
mErrCnt = mErrCnt + 1
TxtErr.Text = mErrCnt
Dim strtemplerr As String
strtemplerr = "S1-T" & mStep & "-C" & mTestCount & " return length error:" & mLength & " (" & mTotal & ")"
List1.AddItem (strtemplerr)
Else
For i = 0 To mLength - 1
If (&HFF - mReadBuf.mBuff(i)) <> mBuffer.mBuff(i) Then
mErrCnt = mErrCnt + 1
TxtErr.Text = mErrCnt
Dim strtempderr As String
strtempderr = "S1-T" & mStep & "-C" & mTestCount & " return data error at " & i & ":" & mReadBuf.mBuff(i) & " (" & mBuffer.mBuff(i) & ")"
List1.AddItem (strtempderr)
End If
Next i
End If
Else ' 读操作失败
mErrCnt = mErrCnt + 1
TxtErr.Text = mErrCnt
Dim strtemprerr As String
strtemprerr = "S1-T" & mStep & "-C" & mTestCount & " CH375ReadData return error, length=" & mTotal
List1.AddItem (strtemprerr)
End If
Else ' 写操作失败
mErrCnt = mErrCnt + 1
TxtErr.Text = mErrCnt
Dim strtempwerr As String
strtempwerr = "S1-T" & mStep & "-C" & mTestCount & " CH375WriteData return error, length=" & mTotal
List1.AddItem (strtempwerr)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -