我正在尝试了解我交换联系人的两部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论坛文档中都没有找到信息。
感谢您的帮助。
答案 0 :(得分:1)
好的,经过几个小时的谷歌,我在我的问题上找到了答案。
当通过LLC协议传输NDEF消息时,存在SNEP层。
所以SNEP标题是:Version - Put - Length(4字节)
就我而言,版本1.0(0x10),Put(0x02)和长度D0(0x00 0x00 0x00 0xD0)。