|
AN3224 Datasheet, PDF (28/49 Pages) STMicroelectronics – Developing an application allowing PR101-USB and MR101-USB FEIG readers to communicate with M24LRXX transponders | |||
|
◁ |
RF ISO 15693 High-level commands
AN3224
5.2
5.2.1
RF ISO 15693 High-level Inventory command
To issue an RF ISO 15693 High-level Inventory command, send the FEISC_0xB0_ISOCmd
function with the strReqData set to â0100â (Inventory request).
At the end of an inventory request, all the transponders are put in Quiet mode (ISO 15693
âSTAY QUIETâ). To be able to communicate with the detected transponder. A âRESET TO
READYâ RF request must be issued.
Below are code examples in Visual Basic and C/C++.
Example of High-level Inventory command
Visual Basic source code
Private Function Cmd_Inventory_FEIG() As Boolean
Dim strReqData As String
Dim lngReqDataLen As Long
Dim lngRspLength As Long
Dim strRespData As String * 512
Dim lngRespDataLen As Long
Dim lngStatus As Long
Dim i As Long
Dim lngTranspNumber As Long
Dim strtransponder As String
'init display
âtxtInventoryRF_answer.Text = ""
âFor i = 0 To 2
â txtTransponderUID(i).Text = ""
â txtTransponderDSFID(i).Text = ""
âNext i
' Inventory request Host mode : 0x0100
strReqData = "0100"
lngReqDataLen = Len(strReqData)
' FEIG USB INVENTORY request in Host mode
lngStatus = FEISC_0xB0_ISOCmd(lngAttachedDeviceHandle(0), &HFF, _
strReqData, lngReqDataLen, strRespData, _
lngRespDataLen, 1)
' RF INVENTORY REQUEST RESULT
' if(lngStatus = 0) then PASS else FAIL
' if (lngRespDataLen = 0) then No transponder answer
' else strRespData contains the transponder(s) answer(s)
If (lngRespDataLen = 0) Then
Cmd_Inventory_FEIG = False
âtxtInventoryRF_answer.Text = "No Tag answer detected"
Else
lngTranspNumber = CLng("&h" & Mid(strRespData, 1, 2))
If (lngRespDataLen > 1 And lngTranspNumber > 3) Then
Cmd_Inventory_FEIG = False
âToo much Tags detected :
28/49
Doc ID 17559 Rev 2
|
▷ |