我正在开展一个项目,以便通过NFC将大量数据从PC交换到Android设备。我使用的是ACR122。
以下是发送数据的一般例子:
// ADPU
FF FF 00 00 00 nn // CLA, INS, P1, P2, Le, Lc
D4 40 // TFI, PD0
01 // (Mi), Target
// LLCP
13 20 // DSAP, PTYPE, SSAP
00 // Sequence
D4 40 // TFI, PD0
// SNEP
10 02 // Protocol Version, Action
nn nn nn nn // Total SNEP Length
// NDEF Header
A2 // First byte (MB = 1, ME = 0, Cf = 1, SR = 0, Il, TNF)
22 // Type length
mm mm mm mm // Payload length
// NDEF Content
61.....65 // Type (34 bytes in that case)
01.....01 // Payload (mm mm mm mm bytes)
在这里,我发送一条记录(不是短记录)。因此,NDEF标题允许输入4字节的有效载荷长度。
最后,我的问题是我们如何才能发送关于1字节APDU Lc的如此大的有效载荷?
如果此限制仅仅是由于pn532芯片或PS / SC,您会建议使用哪种替代硬件?
感谢您的任何澄清
编辑:
我找到了我在这里寻找的东西:
Sending Extended APDU to Javacard
这是一个硬件问题,PN532不支持扩展APDU。
答案 0 :(得分:0)
正如您已经发现的那样,由于PN532芯片的限制,ACR122不支持扩展APDU。
但是,无需将整个SNEP传输打包到单个APDU中。您可以将有效负载拆分为多个较小的帧并一个接一个地发送。 NDEF标头在第一帧中作为一个整体传输是非常重要的。