"嘿,兄弟,最近怎么样?"
我遇到了NDEF消息格式的问题。
我查看了NFC论坛,了解如何使用单个NDEF记录(文本RTD)构建带有有效负载的NDEF消息,以便通过I2c编程我的标签(M24LR16E)。
除此之外,我还用外部写入器对标签进行了编程,以获得格式良好的记录示例。
然后我通过I2C编程了标签,使用完全相同的值,一切都很顺利。更改有效负载字符为我成功的证明=)
"但是你没有来这里向我们展示任何工作正常的东西,是吗?"
你说得对,现在我正在尝试更改有效负载长度,我遇到了麻烦。只要我更改NDEF记录的PAYLOAD_LENGTH,它就不再被识别为一条记录。我将PAYLOAD_LENGTH从10降至5,因此这不是溢出配置字段的问题。
"很棒的故事,给我看些代码/配置"
这是我的记录配置:
- "Header"(MB ME CF SR IL TNF):0xD1
- PAYLOAD_LENGTH:0x0A
- TYPE LENGTH:0x01
- TYPE:0x54
- PAYLOAD:
- 0x02;UTF-8,2字节语言代码
- 0x65;e
- 0x6E;n
- 7个其他无聊的字节
此外,我注意到,如果我覆盖NDEF消息之前的6个字节,NDEF消息将不再被识别。我不知道这些数据可能是什么,因为NFC规范和标签数据表都没有提到。
"你该问一个问题..."
嗯,好吧...
- 除了NDEF记录的PAYLOAD_LENGTH字段之外,还有其他应该更改的内容吗?
- 在我的NDEF消息之前那些基本数据是什么?
我的读卡器:Nexus 4,配有NXP的“TagInfo”应用程序