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

📄 frmresetrssiindex.frm

📁 无线传感器网络节点的定位引擎程序
💻 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 + -