我开发了一个应用程序,包括通过NFC从手机到NFC阅读器(pn532)进行数据交换。整个项目与android工作正常但是在WP8上我有从Arduino读取的问题。
我检查了LLCP协议,似乎是正确的。 LLCP-SNEP 由本书执行,但NDEF消息从未传递给手机,甚至不是默认的操作系统应用程序处理程序。奇怪的是,手机将数据完美地传输到pn532,但从未向相反的方向传输。此外,我注意到手机从Android设备或标签读取完美,但我的控制器失败。 Bellow你可以找到Arduino微控制器的输出作为pn532主机控制器。
-------Peer to Peer-------- Send a message to Lumia 620 on WP8 SAMConfig write: 14 1 14 1 read: 15 write: 8C 0 0 0 0 0 0 40 1 FE F BB BA A6 C9 89 0 0 0 0 0 0 0 0 FF FF 1 FE F BB BA A6 C9 89 0 0 6 46 66 6D 1 1 10 0 read: 8D 5 22 D4 0 E8 A4 8B 61 AF 9D 72 91 5F C3 0 0 0 32 46 66 6D 1 1 11 2 2 3 80 3 2 0 1 4 1 64 write: 86 read: 87 0 0 0 write: 8E 11 20 read: 8F 0 wait for a CC PDU write: 86 read: 87 0 5 20 2 2 3 80 5 1 5 6 F 75 72 6E 3A 6E 66 63 3A 73 6E 3A 73 6E 65 70 write: 8E 0 0 read: 8F 0 write: 86 read: 87 0 81 84 2 2 3 80 5 1 5 write: 8E 0 0 read: 8F 0 Leaving connect write: 86 read: 87 0 0 0 write: 8E 13 20 0 10 2 0 0 0 20 D1 1 1C 55 0 61 70 70 6C 69 63 61 74 69 6F 6E 2F 77 69 6E 64 6F 77 73 2E 63 6F 6D 2F 4E 46 43 read: 8F 0 write: 86 read: 87 0 83 44 1 write: 8E 0 0 read: 8F 0 write: 86 read: 87 0 83 4 1 10 81 0 0 0 0 write: 8E 13 60 10 read: 8F 0 Leaving writePablo Disconnecting write: 86 read: 87 0 0 0 write: 8E 11 60 read: 8F 0 wait for a DM PDU write: 86 read: 87 0 81 C4 0 Success
欢迎任何帮助
答案 0 :(得分:0)
我想到了两件事:
您正在发送无效的接收就绪(RR)PDU:
TgSetData, DSAP=4, PTYPE=1101 (RR), SSAP=32, N(S)=1, N(R)=0
write: 8E 13 60 10
read: 8F 0
Success
在RR PDU中,为N(S)保留的字段必须始终为0,因为没有带有RR PDU的发送序列。此外,您承认您收到了一个I PDU,因此N(R)必须为1.因此,正确的PDU应如下所示:
TgSetData, DSAP=4, PTYPE=1101 (RR), SSAP=32, N(R)=1
write: 8E 13 60 01
read: 8F 0
Success
您的NDEF邮件是否包含您期望的数据?目前,您的NDEF消息包含一个URI application/windows.com/NFC
的URI RTD记录(请注意,相对URI在这里没有多大意义)。