2

我试图了解我交换过联系人的两部 NFC 手机之间的通信。

所以我得到了:

B2 4D DD D5 07 03 13 20 00 10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 

B24D 是 SyncCode,DD 是 LEN,D5 是 CMD0,07 是 CMD1(它是 DEP_RES),03 是 PFB。没关系。

所以,现在我们有了所有其他字节:

13 20 00 10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 

这些字节是一个 LLCP I PDU。

13 20 00 是 DSAP (0x04)、PTYPE (0x0C)、SSAP (0x20) 和序列 (0x00)。

所以现在我们只有数据字节。

10 02 00 00 00 D0 D2 0C C1 74 65 78 74 2F 78 2D 76 43 61 72 64 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A 4E 3A 3B 

我们可以很容易地理解 NDEF 从 D2 开始(D2 是标志,0C 是类型长度,...)

那么问题来了,这些DATA的第一个字节是什么?

10 02 00 00 00 D0 

这就像一个初始化,我认为 10 是版本号,而 D0 是长度。但是这个初始化来自什么文档?我没有在任何 NFC 论坛文档中找到信息。

有通讯

谢谢你的帮助。

4

1 回答 1

1

好的,经过几个小时的谷歌搜索,我在我的问题中找到了答案。

当通过 LLC 协议传输 NDEF 消息时,会有一个 SNEP 层。

所以 SNEP 标头是:版本 - 放置 - 长度(4 个字节)

就我而言,版本 1.0 (0x10)、Put (0x02) 和长度 D0 (0x00 0x00 0x00 0xD0)。

于 2013-03-07T08:13:48.700 回答