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

📄 readpagefrm.frm

📁 载入SDK的动态链接库文件
💻 FRM
📖 第 1 页 / 共 3 页
字号:
       Exit Sub
    End If
    
    status = Sense18K_Open(g_hCom, cbComport.Text)
    If ERR_NONE <> status Then
        g_Status = MsgBox("串口打开失败!请检查串口是否已经被占用!", vbOKOnly, "提示")
        StatusBar1.Panels.Item(8).Text = "串口打开失败,请检查串口是否已经被占用!"
        StatusBar1.Panels.Item(8).Text = "断开"
        ShowInfo ("串口打开失败!请检查串口是否已经被占用!")
        Call btnDisConnect_Click
        Exit Sub
    End If
    
    Dim main, minnor As Byte
    Call Sense18K_GetDLLRevision(main, minnor)
    Dim str As String
    str = Format(Hex(main), "00")
    str = str & "." & Format(Hex(minnor), "00")
    StatusBar1.Panels.Item(4).Text = str
    
    Dim MinnorVersion As Byte
    Dim MainVersion As Byte
    g_RAddr = cbScanner.Text
    status = Sense18K_SysGetFirmwareRevision(g_hCom, g_RAddr, MainVersion, MinnorVersion)
    If status <> ERR_NONE Then
        StatusBar1.Panels.Item(8).Text = "读写器连接失败"
        ShowInfo ("读写器连接失败")
        StatusBar1.Panels.Item(8).Text = "断开"
        Call btnDisConnect_Click
        Exit Sub
    End If
    
    bBaudIndex = cbBaudRate.ListIndex
    status = Sense18K_SysSetBaudRate(g_hCom, g_RAddr, bBaudIndex)
    
    str = Format(Hex(MainVersion), "00")
    str = str & ". " & Format(Hex(MinnorVersion), "00")
    StatusBar1.Panels.Item(6).Text = str
    StatusBar1.Panels.Item(8).Text = "读写器连接成功"
    ShowInfo ("读写器连接成功")
    StatusBar1.Panels.Item(2).Text = "正常"
    Call ConnectedButton
End Sub

Private Sub BtnCycleEnd_Click()
    Timer1.Enabled = False
    btnCycleRead.Enabled = True
    BtnCycleEnd.Enabled = False
End Sub

Private Sub btnCycleRead_Click()
    Timer1.Enabled = True
    Timer1.Interval = cbTimer.Text
    btnCycleRead.Enabled = False
    BtnCycleEnd.Enabled = True
End Sub

Private Sub btnDisConnect_Click()
    If g_hCom <> 0 Then
        status = Sense18K_Close(g_hCom, g_RAddr)
        g_hCom = 0
        StatusBar1.Panels.Item(8).Text = "断开读写器连接成功!"
        ShowInfo ("断开读写器连接成功!")
        StatusBar1.Panels.Item(2).Text = "断开"
        StatusBar1.Panels.Item(4).Text = ""
        StatusBar1.Panels.Item(6).Text = ""
        Call DisConnectedButton
    End If
    
    
End Sub

Private Sub btnReadTag_Click()
    Call Mult_Tag_Read
End Sub

Private Sub Command2_Click()

End Sub

Private Sub btnRFQuery_Click()
    Dim RF As Byte
    status = Sense18K_SysRFQuery(g_hCom, g_RAddr, RF)
    If status = ERR_NONE Then
        cbRFLevel.Text = RF + 100
        ShowInfo ("查询功率成功! 功率:" & cbRFLevel.Text)
    Else
        ShowInfo ("查询功率失败!错误:0x" & Hex(status))
    End If
End Sub

Private Sub btnRFSet_Click()
    Dim RF As Byte
    RF = cbRFLevel.Text
    RF = RF - 100
    status = Sense18K_SysRFSet(g_hCom, g_RAddr, RF)
    If status = ERR_NONE Then
        ShowInfo ("设置功率成功!新功率值:" & cbRFLevel.Text)
    Else
        ShowInfo ("设置功率失败!错误:0x" & Hex(status))
    End If
End Sub

Private Sub btnWriteEnd_Click()
    WriteTimer.Enabled = False
    btnWriteTag.Enabled = True
    btnWriteEnd.Enabled = False
End Sub

Private Sub btnWriteTag_Click()
    Dim uclen, dataAddr As Byte
    
    If redioByte1(1).Value = True Then
        uclen = 0
    Else
        uclen = 1
    End If
    
    txWriteData.Text = UCase(txWriteData.Text)
    istrLen = Len(txWriteData.Text)
    If (istrLen < 8) Then
        For I = 1 To uclen * 6 + 2 - istrLen
            txWriteData.Text = "0" + txWriteData.Text
        Next I
    End If
    
    If Not CheckHEX(txWriteData.Text) Then
        ShowInfo ("请输入正确的16进制数!")
        Exit Sub
    End If
     
    
    dataAddr = cbWriteAddr.Text
    Dim iWriteCount As Integer
    iWriteCount = Val(txWriteCount.Text)
    txWriteCount.Text = Format(iWriteCount)
    
    WriteTimer = True
    WriteTimer.Interval = 500
    btnWriteTag.Enabled = False
    btnWriteEnd.Enabled = True
    
End Sub

Private Sub Command1_Click()
    Command1.Caption = txWriteData
    
End Sub

Private Sub Form_Load()
    Dim I As Integer
    Dim str As String
    
    For I = 0 To 255
        cbWriteAddr.AddItem (I)
    Next I
    cbWriteAddr.ListIndex = 20
    
    For I = 1 To 9
        str = "COM" & I
        cbComport.AddItem (str)
    Next I
    
    cbComport.ListIndex = 0
    cbBaudRate.ListIndex = 0
    cbScanner.AddItem (255)
    For I = 0 To &HF0
        cbScanner.AddItem (I)
    Next
    
    cbScanner.ListIndex = 0
    g_RAddr = 255
    g_hCom = 0
    
    bcycle = True
    
    cbTimer.ListIndex = 0
    For I = 0 To 255
        cbTagAddr.AddItem (I)
    Next I
    cbTagAddr.ListIndex = 0
    cbBaudRate.ListIndex = 4
    redioByte1(1).Value = True
    
    For I = 100 To 150
        cbRFLevel.AddItem (I)
    Next I
    cbRFLevel.ListIndex = 0
    
    cbAntenna.AddItem ("天线1")
    cbAntenna.AddItem ("天线2")
    cbAntenna.AddItem ("天线3")
    cbAntenna.AddItem ("天线4")
    cbAntenna.ListIndex = 0
    
    
    p_ReadPage.Tab = 0
    Call DisConnectedButton
End Sub

Private Sub Form_Terminate()
    Call btnDisConnect_Click
End Sub

Private Sub AddTagData(tagData As String, AntennaID As Byte)
    Set itmx = ListView1.ListItems.Add()
    itmx.Text = ListView1.ListItems.Count
    itmx.SubItems(1) = tagData
    itmx.SubItems(2) = AntennaID
    itmx.EnsureVisible
End Sub

Private Sub Mult_Tag_Read()
    Dim dataAddr As Byte
    Dim tagCount As Byte
    Dim strID As String
    Dim tagData(0 To 128) As Byte
    Dim I As Byte
    
    dataAddr = cbTagAddr.Text
    status = Sense18K_ISOMTR(g_hCom, g_RAddr, dataAddr, tagCount)
    If status = ERR_NONE Then
        status = Sense18K_BufGetOneAndClear(g_hCom, g_RAddr, tagData(0))
        If status = ERR_NONE Then
            For I = 1 To tagData(0) - 1
                strID = strID & " " & Format(Hex(tagData(I)), "00")
            Next I
        End If
        Call AddTagData(strID, tagData(tagData(0) + 1) + 1)
    End If
End Sub

Private Sub Timer1_Timer()
    Call Mult_Tag_Read
End Sub

Private Sub ConnectedButton()
    btnDisConnect.Enabled = True
    btnCycleRead.Enabled = True
    btnReadTag.Enabled = True
    btnWriteTag.Enabled = True
    btnRFSet.Enabled = True
    btnRFQuery.Enabled = True
    BtnAntennaSet.Enabled = True
    btnAntennaQuery.Enabled = True
    BtnCycleEnd.Enabled = False
    btnConnect.Enabled = False
End Sub

Private Sub DisConnectedButton()
    btnDisConnect.Enabled = False
    btnCycleRead.Enabled = False
    btnReadTag.Enabled = False
    BtnCycleEnd.Enabled = False
    btnRFSet.Enabled = False
    btnRFQuery.Enabled = False
    BtnAntennaSet.Enabled = False
    btnAntennaQuery.Enabled = False
    
    btnWriteTag.Enabled = False
    btnConnect.Enabled = True
End Sub

Private Sub ShowInfo(strinfo As String)
    Set itmx = ListView2.ListItems.Add()
    itmx.Text = Now
    itmx.SubItems(1) = strinfo
    itmx.EnsureVisible
End Sub

Private Sub WriteTimer_Timer()
    
    WriteTimer.Enabled = False
    
    Dim iWriteCount As Integer
    iWriteCount = Val(txWriteCount.Text)
    If (iWriteCount = 0) Then
        btnWriteTag.Enabled = True
        btnWriteEnd.Enabled = False
        Exit Sub
    End If
    
    Dim uclen, dataAddr, tagData(8) As Byte
       
    
    If redioByte1(1).Value = True Then
        uclen = 0
    Else
        uclen = 1
    End If
    
    txWriteData.Text = UCase(txWriteData.Text)
    istrLen = Len(txWriteData.Text)
    If (istrLen < 8) Then
        For I = 1 To uclen * 6 + 2 - istrLen
            txWriteData.Text = "0" + txWriteData.Text
        Next I
    End If
    
    If Not CheckHEX(txWriteData.Text) Then
        ShowInfo ("请输入正确的16进制数!")
        btnWriteTag.Enabled = True
        btnWriteEnd.Enabled = False
        Exit Sub
    End If
        
    tagData(0) = Val("&H" + Mid(txWriteData, 1, 2))
    tagData(1) = Val("&H" + Mid(txWriteData, 3, 2))
    tagData(2) = Val("&H" + Mid(txWriteData, 5, 2))
    tagData(3) = Val("&H" + Mid(txWriteData, 7, 2))
        
    status = Sense18K_ISOListOne(g_hCom, g_RAddr)
    If (status <> ERR_NONE) Then
        status = Sense18K_ISOEndRead(g_hCom, g_RAddr)
        WriteTimer.Enabled = True
        txWriteCount = txWriteCount - 1
        Exit Sub
    End If

    dataAddr = cbWriteAddr.Text
    status = Sense18K_ISOWrite(g_hCom, g_RAddr, uclen, dataAddr, tagData(0))
    If (status = ERR_NONE) Then
        ShowInfo ("写标签成功!")
        btnWriteTag.Enabled = True
        btnWriteEnd.Enabled = False
        txWriteCount = 0
    Else
        ShowInfo ("写标签失败!" + Hex(status))
        WriteTimer.Enabled = True
        btnWriteTag.Enabled = False
        btnWriteEnd.Enabled = True
    End If
    
    status = Sense18K_ISOEndRead(g_hCom, g_RAddr)
End Sub

⌨️ 快捷键说明

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