📄 frmresetrssiindex.frm
字号:
VERSION 5.00
Begin VB.Form frmResetRssiIndex
Caption = "Form1"
ClientHeight = 4125
ClientLeft = 60
ClientTop = 345
ClientWidth = 6705
LinkTopic = "Form1"
ScaleHeight = 4125
ScaleWidth = 6705
StartUpPosition = 3 'Windows Default
Begin VB.TextBox textNodeAddress
Height = 495
Left = 1080
TabIndex = 2
Top = 1200
Width = 1935
End
Begin VB.CommandButton butSubmit
Caption = "确定"
Height = 495
Left = 720
TabIndex = 1
Top = 2280
Width = 1455
End
Begin VB.CommandButton Command2
Caption = "退出"
Height = 495
Left = 2640
TabIndex = 0
Top = 2280
Width = 1455
End
Begin VB.Timer Timer1
Left = 4920
Top = 1200
End
Begin VB.Label Label3
Caption = "地址,16进制,不包括0X"
ForeColor = &H000000FF&
Height = 375
Left = 360
TabIndex = 3
Top = 600
Width = 3015
End
End
Attribute VB_Name = "frmResetRssiIndex"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim timeout As Boolean
Private Sub butSubmit_Click()
Dim strNodeAddress As String
Dim i As Integer
strNodeAddress = Trim(textNodeAddress.Text)
If (strNodeAddress = "") Then
MsgBox "请输入地址信息", vbOKOnly, "Error"
Exit Sub
End If
If (Len(strNodeAddress) > 2) Then
MsgBox "请输入正确的地址信息(长度小于2)", vbOKOnly, "Error"
Exit Sub
End If
If Not isHex(Left(strNodeAddress, 1)) Then
MsgBox "请输入正确的地址信息", vbOKOnly, "Error"
Exit Sub
End If
If Not isHex(Right(strNodeAddress, 1)) Then
MsgBox "请输入正确的地址信息", vbOKOnly, "Error"
Exit Sub
End If
If MsgBox("确定写入节点?", vbOKCancel, "confirm") = vbOK Then
If (isCommOpen = False) Then
MsgBox "串口没有被正确打开,请检查配置文件"
butSubmit.Enabled = True
Exit Sub
End If
Command(0) = COMMAND_RESET_CURRENT_RECV_RSSI_NUMBER
Command(1) = Command(0)
Command(2) = Command(0)
Command(3) = PC_ADDRESS
Command(4) = "&H" & strNodeAddress
seqno = seqno + 1
'修改ini中seqno
WritePrivateProfileString "SEQNO", "seqno", CStr(seqno), ConfigFilePath
Int2BYTE seqno, Command(6), Command(5)
Command(7) = &H0
Command(8) = &H0
Command(9) = &H0
MainForm.Text1.Text = MainForm.Text1.Text & Now & " " & "发送" & " "
For i = 0 To UBound(Command)
MainForm.Text1.Text = MainForm.Text1.Text + " "
If Len(CStr(Hex(Command(i)))) = 1 Then
MainForm.Text1.Text = MainForm.Text1.Text + "0"
End If
MainForm.Text1.Text = MainForm.Text1.Text + CStr(Hex(Command(i)))
Next
MainForm.Text1.Text = MainForm.Text1.Text + vbCrLf
MainForm.MSComm1.Output = Command
'waitting for response
Dim txtBuff() As Byte
MainForm.MSComm1.InBufferCount = 0 ' clear inBuffer
Timer1.Enabled = True
Timer1.Interval = UART_RADIO_RETRY_COUNT * UART_RADIO_HAL_TIME + 3000
timeout = False
Do
DoEvents
If timeout Then
Exit Do
End If
Loop Until ((MainForm.MSComm1.InBufferCount = COMMAND_RESPONSE_LENGTH))
'Timer1.Enabled = False
If Not timeout Then
MainForm.Text1.Text = MainForm.Text1.Text & Now & " " & "接收" & " "
txtBuff = MainForm.MSComm1.Input
For i = 0 To COMMAND_RESPONSE_LENGTH - 1
MainForm.Text1.Text = MainForm.Text1.Text + " "
If Len(CStr(Hex(txtBuff(i)))) = 1 Then
MainForm.Text1.Text = MainForm.Text1.Text + "0"
End If
MainForm.Text1.Text = MainForm.Text1.Text + CStr(Hex(txtBuff(i)))
Next
MainForm.Text1.Text = MainForm.Text1.Text + vbCrLf
If (CStr(txtBuff(0) = CStr(COMMAND_RESET_CURRENT_RECV_RSSI_NUMBER_RESPONSE)) And Hex(txtBuff(0)) = Hex(txtBuff(1)) And Hex(txtBuff(1)) = Hex(txtBuff(2))) Then
'检查设置是否成功
If txtBuff(6) = SUCCESS_RESPONSE Then
MsgBox "设置成功", , "success"
Else
msgErrorMessage CInt(CStr(txtBuff(7)))
End If
Else
MsgBox "错误的响应格式", , "Error"
End If
Else
MsgBox "定时器超时,请检查网关节点和PC串口是否连接完好"
Timer1.Enabled = False
End If
End If
End Sub
Private Sub Command2_Click()
If (MsgBox("确定退出吗?", vbOKCancel, "Confirm") = vbOK) Then
Unload Me
MainForm.Show
End If
End Sub
Private Sub Timer1_Timer()
timeout = True
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -