【发布时间】:2013-07-14 16:49:37
【问题描述】:
我目前正在尝试创建一个 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 -> Error | 0F -> Unknown error”,并没有回答在非寻址模式。它没有写在标签上,因为当我再次阅读时,内容并没有改变。我还使用带有选项标志的读取命令来验证块是否受到保护,正如 NXP Tag Reader 应用程序所说,它们都是“公共的”。我做错什么了 ?为什么会出现此错误?
提前致谢。
【问题讨论】:
-
您是否尝试发送命令 0xB8“获取多块保护状态”(链接 PDF 的第 8.1.3.8 节)?可能是块受密码保护。
标签: android nfc rfid iso-15693