gpt4 book ai didi

NFC NDEF 消息格式 : payload size (ISO 15693 header, NfcV)

转载 作者:行者123 更新时间:2023-12-04 22:22:27 28 4
gpt4 key购买 nike

“喂,哥,怎么了?”

我在 NDEF 消息格式方面遇到了麻烦。

我浏览了 NFC 论坛,了解如何使用带有有效载荷的单个 NDEF 记录(文本 RTD)构建 NDEF 消息,因此我可以通过 I2c 对我的标签 (M24LR16E) 进行编程。

除此之外,我使用外部编写器对我的标签进行了编程,以获得格式良好的记录示例。

然后我通过 I2C 使用完全相同的值对我的标签进行编程,一切运行良好。更改有效载荷字符给了我成功的证明 =)

“但你来这里并不是为了向我们展示一切都很好,不是吗?”

你是对的,知道我正在尝试改变有效载荷长度,但我遇到了麻烦。一旦我更改了 NDEF 记录的 PAYLOAD_LENGTH,它就不再被识别为一个。我将 PAYLOAD_LENGTH 从 10 改为 5,所以这不是溢出配置字段的问题。

“好故事,给我看一些代码/配置”

这是我的记录配置:

  • “标题”(MB ME CF SR IL TNF):0xD1
  • PAYLOAD_LENGTH : 0x0A
  • 类型长度:0x01
  • 类型:0x54
  • 有效载荷:
  • 0x02; UTF-8,2 字节语言代码
  • 0x65 ; e
  • 0x6E ;
  • 7 其他无聊字节

  • 另外,我注意到如果在 NDEF 消息之前覆盖 6 个字节,则 NDEF 消息将不再被识别。我不知道这些数据是什么,因为 NFC 规范没有谈论这个,标签数据表也没有。

    “你应该问一个问题……”

    嗯,嗯...
  • 除了 NDEF 记录的 PAYLOAD_LENGTH 字段之外,还有什么我应该更改的吗?
  • 我的 NDEF 消息之前的那些基本数据是什么?

  • 我的读者:带有 NXP 的“TagInfo”应用程序的 Nexus 4

    最佳答案

    不幸的是,您在 NFC 论坛网站上找不到关于如何使用该标签存储 NDEF 消息的太多信息。这样做的原因是目前没有 ISO 15693 标签的标签类型规范(尽管标准化正在进行中)。

    我假设标签的内存内容看起来像这样(包括你不理解的字节):

    E1 4x yy 00
    03 0E <YOUR NDEF MESSAGE> FE

    如果是这种情况,前 4 个字节是功能容器(由魔术字节 0xE1 和版本半字节 0x4 表示)。 x 应该是 0x0指示(应用程序级别!)读写访问。 yy 应该是可用数据内存(不包括功能容器)的总大小除以 8。到目前为止,您应该能够保留这些值...

    但是还有嵌入您的 NDEF 消息的 NDEF 消息 TLV 结构: 0x03是指示 NDEF 消息的标记。 0x0E是长度字段。因此,除了记录的有效负载长度之外,这就是您需要更改的内容。在涉及到长度字段时,Android 非常挑剔。如果这与您的 NDEF 消息的确切长度不匹配,大多数 Android 版本将忽略该消息。最后一个字节, 0xFE是(可选)终止符 TLV。这应该紧跟在标签上的最后一个数据字节之后,告诉 NDEF 标签解析器停止解析。

    关于NFC NDEF 消息格式 : payload size (ISO 15693 header, NfcV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21205864/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com