Android NFC:收发方法如何使用内存?

问题描述 投票:1回答:1

我有ntag213。我试图了解工作块是如何工作的,以及标签的存储部分。我找到了项目https://github.com/lepunk/react-native-nfc-demo/blob/master/RNNFCDemo/App.js但无法理解什么是收发方法的缺点:

let text = this.state.text;
        let fullLength = text.length + 7;
        let payloadLength = text.length + 3;

        let cmd = Platform.OS === 'ios' ? NfcManager.sendMifareCommandIOS : NfcManager.transceive;

        resp = await cmd([0xA2, 0x04, 0x03, fullLength, 0xD1, 0x01]); // 0x0C is the length of the entry with all the fluff (bytes + 7)
        resp = await cmd([0xA2, 0x05, payloadLength, 0x54, 0x02, 0x65]); // 0x54 = T = Text block, 0x08 = length of string in bytes + 3

每个cmd中的参数是什么?

android react-native nfc react-native-ios core-nfc
1个回答
0
投票

您需要阅读该卡数据表的第10节,例如https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf

基本上是使用写命令(数组的第一个字节0xA2),然后需要给它块地址,在第一个命令中是块4,然后是块5(注意,块4是第一个可以写入),然后读取接下来的4个字节的数据(因为您一次只能写入一个4字节的块)。

所以基本上命令是

[Write Command, Block Address, Data1 Byte, Data2 Byte, Data3 Byte, Data4 Byte]

因此,总体而言,该代码以自定义格式将某些文本编码到卡上。块4和5是自定义格式的标头块,然后它将4字节卡盘中的文本写入块6以后的所有块中,而不检查每次写入是否成功(除了记录响应之外)]

© www.soinside.com 2019 - 2024. All rights reserved.