0

我目前正在尝试创建一个 android 应用程序来编辑 rfid 标签。我要写的标签是 NXP 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->未知错误”,在非-寻址模式。它没有写在标签上,因为当我再次阅读时,内容并没有改变。我还使用带有选项标志的读取命令来验证这些块是否受到保护,正如 NXP Tag Reader 应用程序所说,它们都是“公共的”。我做错了什么 ?为什么我会收到此错误?

提前致谢。

4

1 回答 1

0

也尝试发送选项标志,它是

0x40 // option flag
0x02 // fast data rate

所以:

42:21:00:...

这对我有用,但只在非寻址模式下测试!

于 2013-12-23T15:21:31.410 回答