UHF-RW-MP-232-V1 - UHF tag reader help.

Thank you Rob,

yes sorry i didnt say, i have done the reading with a lot of different read lengths, i just did the 10 to make sure i dont miss anything....

below is the info from the reader protocols which should be relevant to this question:

8.2.2 Read Data
The command is used to read part or all of a Tag’s Password, EPC, TID, or User memory. To the word as a
unit, start to read data from the designated address.
15
Command:
Len > Adr > Cmd > Data[] > CRC-16
0xXX > 0xXX > 0x02 > —— >LSB MSB
Data as follows:
Data[]
ENum > EPC > Mem > WordPtr > Num > Pwd > MaskAdr > MaskLen
0xXX > Variable > 0xXX > 0xXX > 0xXX > 4Byte > 0xXX > 0xXX
Parameter Connect:
ENum: EPC length?in word units. The length of EPC is less than 15 words, can be 0 or 15. Otherwise, it
returns the parameters error message.
EPC: Be operated tag’s EPC number. EPC length according to the decision of the EPC number, EPC
numbers in word units, and must be an integer number of lengths. High word first, the high byte of each word first.
Requirement given here is a complete EPC number.
Mem: One byte. It specifies whether the Read accesses Password, EPC, TID, or User memory. 0x00:
Password memory; 0x01: EPC memory; 0x02; TID memory; 0x03: User memory. Other values reserved. Other
value when error occurred.
WordPtr: One byte. It specifies the starting word address for the memory read. For example, WordPtr = 00h
specifies the first 16-bit memory word, WordPtr = 01h specifies the second 16-bit memory word, etc.
Num: One byte. It specifies the number of 16-bit words to be read. The value is less then 120, can not be 0.
Otherwise, it returns the parameters error message.
Pwd: Four bytes, they are Access Password. The most significant word of Access Password is first, the most
significant byte of word is first. The first bit of 32-bit access password is left, and the last bit of 32-bit access
password is right. Only done the memory set to lock and the Tag’s Access Password is not zero, it needs right Pwd.
In other cases, Pwd can be zero.
MaskAdr: One byte, it specifies the starting byte address for the memory mask. For example, MaskAdr =
0x00 specifies the first EPC bytes, MaskAdr = 0x01 specifies the second EPC bytes, etc.
MaskLen: One byte, it is the mask length. That a Tag compares against the memory location that begins at
MaskAdr and ends MaskLen bytes later. MaskAdr + MaskLen must be less the length of ECP number.
Otherwise, it returns the parameters error message.
Notes: That a tag compares against complete EPC number when the MaskAdr and MaskLen vacant.
Respond:
Len > Adr > reCmd > Status > Data[] > CRC-16
0xXX > 0xXX > 0x02 > 0x00 > Word1?Word2,… > LSB MSB

So the reader returns the Len (of data) , adr( of the reader which is 0x00) , reCmd > Status > Data[]> Checksum.

but there is no defined starting bit that i can look for :frowning:

the structure of that return is however the same as the Demo program gave:
07 . 00 . EE . 00 . 94 . 7B . 00 . BD

but not the same as im reading from arduino :cry:

i even tried deducting 48 off the incoming byte to see if its not ascii but didnt work.

any advice is greatly appreciated :slight_smile: