我试图让我的ACR122 (usb)设备模仿一个被动的NFC标签,但很难让通信正常进行。我希望有人能看到我在这里做错了什么,并帮助我指出正确的方向。
ACR122 - Card Emulation对另一个问题的回答指向了PN53x.txt上的一个文档,但是当我们按照字母来处理这个问题时,它的行为并不像预期的那样。
我们正在使用三星GalaxyAndroid4.3设备进行测试,我们看到了以下行为:
Transmit (TgInitAsTarget)
....'......4V@.. FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE
................ A2 A3 A4 A5 A6 A7 C0 C1 C2 C3 C4 C5 C6 C7 FF FF
...wfUD3"... AA 99 88 77 66 55 44 33 22 11 00 00
Receive
..%....7.5<...w. D5 8D 25 1E D4 00 08 37 D9 35 3C BF D5 AE 77 9C
...2Ffm......... 00 00 00 32 46 66 6D 01 01 11 03 02 00 13 04 01
... 96 90 00
Transmit (GetData)
....... FF 00 00 00 02 D4 86
Receive
..).. D5 87 29 90 00 TgInitAsTarget命令似乎正常工作,返回我们理解为“活动模式,DEP,424 means”的0x25模式。
但是"GetData“命令立即失败,返回状态代码0x29”已配置为目标的PN532已由其发起者释放“。
我们尝试用不同的模式更改TgInitAsTarget命令(而不是0x00 " all“模式),尝试以下所有仍然返回0x29的GetData命令:
在所有情况下,Android似乎都没有维护连接,尽管我对NFC DEP协议还不太熟悉,不知道我在这里做了什么。我已经阅读了PN532芯片引用,这似乎表明我做的一切都是正确的。
我还尝试过Windows设备,它在GetData上遇到了相同的问题和相同的错误代码。
任何对NFC熟悉的人的任何帮助都将不胜感激。
戴夫
发布于 2014-01-14 06:39:28
为了将ACR122 (或者更确切地说是将PN532 NFC控制器芯片放入卡模拟模式),您需要执行以下操作:
其中xx应该等于0x08。
其中xx是状态代码(成功时应该是0x00 ),code是从读取器发送的命令。
FF000000 yy D48E < D587 xx 9000 在
yy为2+的情况下,status (响应)的长度和xx是状态代码(应该是0x00表示成功)。
https://stackoverflow.com/questions/21051315
复制相似问题