我目前正在尝试创建一个Android应用来编辑rfid标签。我想写的标签是恩智浦SL2 ICS53。 (数据表http://www.nxp.com/documents/data_sheet/SL113730.pdf)
它尊重标准ISO-156933。 (http://www.nxp.com/documents/data_sheet/SL113730.pdf)
这是一个NfcV标签。 (谷歌“android NfcV”,声望限制...... - ')
我当前的问题,正如标题所说,我一直无法在标签上写内容。 我可以使用android.nfc.tech.NfcV.transceive()将标记传递给标记。
22:20:36:F5:A0:03:00:02:04:E0:00 -> in addressed mode
22 -> Addressed, fast data rate
20 -> Read command
36:F5:A0:03:00:02:04:E0 -> UID of the chip (addressed mode requires it)
00 -> Block 0 to read
标签回答: 00:41:4C:46:49,00表示没有错误,41:4C:46:49是第一个块的内容。
我也可以使用非寻址模式阅读它:
02:20:00 -> in non-addressed mode
02 -> Fast data rate
20 -> Read command
00 -> Block 0 to read
有了这个,我得到了同样的答案。
但是一旦我想写,我发送了以下内容,它应该在第一个块(00)写入00:00:00:00。
02:21:00:00:00:00:00 -> in non-addressed mode
02 -> Fast data rate
21 -> Write command
00 -> Block 0 to write
00:00:00:00 -> Data 00:00:00:00 to write
22:21:36:F5:A0:03:00:02:04:E0:00:00:00:00:00 -> in addressed mode
22 -> Addressed, fast data rate
21 -> Write command
36:F5:A0:03:00:02:04:E0 -> UID of the chip (addressed mode requires it)
00 -> Block 0 to write
00:00:00:00 -> Data 00:00:00:00 to write
但是根据第一个pdf文档的第8.4节“错误处理”,芯片在寻址模式下回答01:0F,这对应于“01 - >错误| 0F - >未知错误”,并且在非寻址模式下无法应答。它没有写在标签上,因为当我再次阅读时,内容没有改变。我还使用带有选项标志的read命令来验证块是否受到保护,并且如NXP Tag Reader应用程序所述,它们都是“公共的”。我做错了什么 ?为什么我会收到此错误?
提前致谢。
答案 0 :(得分:0)
还尝试发送
选项标志0x40 // option flag
0x02 // fast data rate
所以:
42:21:00:...
这对我有用,但只能在非寻址模式下测试!