ST意法半导体
直播中

蒋美燕

7年用户 859经验值
私信 关注
[问答]

写入文本NDEF标记前是否需要设置其他寄存器呢?

在 CC 初始化期间,据我了解我们应该有值 0xe1,0x40,0x40,0x00
但我得到 0xe1,0x40,0x40,0x43。我试图在地址 0xa6、0x00 处手动写入 0xe1,0x40,0x40,0x00,但失败了。
我忽略了它并试图向它写入一个文本 NDEF 标记,但它也失败了。
请检查屏幕截图。
第 1 步:我在 0xa6,0x00 地址处写入 CC,但失败了。
Step2 : 在 0xa6,0x04 地址写入长度 - 成功
第 3 步:在 0xa6,0x06 地址写入文本 NDEF 标记 - 失败
第 4 步:读取 NDEF 数据 - 读取 NFC 上存在的旧文本 NDEF 标签。
为什么写入操作失败?写入前是否需要设置其他寄存器?

回帖(1)

范逊敏

2022-12-26 15:42:16
在寻址设备本身时,没有确认”:您的意思是在第一个字节(设备从地址)之后没有确认吗?
这意味着该设备不可用于处理 I2C 命令。这可能发生在 3 种情况下:


  • 该设备未使用 Vcc 供电。
  • 设备正忙于 RF 接口,正在处理 RF 命令。
  • 在 I2C 写命令后,设备正忙于将数据写入 EEPROM。

我猜你可能属于第三种情况。我想您是在更新 NDEF 消息内容后立即编写终止符 TLV 吗?
更新 NDEF 消息时,您正在写入 EEPROM 存储器。I2C 总线在 EEROM 的编程时间内不可用:设备需要 5ms 来编程每 4 个字节的数据。写入从 I2C 写入命令的停止位开始。
因此,您应该等待 EEPROM 编程结束,然后才能再次访问标签。
这在数据表中的“6.4.2 I2C 顺序写入”一章中进行了解释。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分