C++ libnfc:从NTAG写入和读取自定义数据

C++ libnfc:从NTAG写入和读取自定义数据,c++,nfc,mifare,acr122,lib-nfc,C++,Nfc,Mifare,Acr122,Lib Nfc,我已经尝试了很长一段时间,现在写和读取数据从我的NFC卡。这些卡片是NTAG216。我可以使用libnfc示例来读取制造商ID,它工作得很好。但我需要向每个标记写入一些自定义数据,例如字符串“abcdefg”并将其读回 我已经阅读了几乎所有我能找到的关于libnfc的相关内容,但他们都没有谈论这个特定领域。我希望得到任何指导。代码示例将不胜感激 我将ACRU122 NFC读写器与一起使用。枚举并激活标记后,可以使用该方法向标记发送原始NTAG命令(如读/写)。由于NTAG216的命令集与MIFA

我已经尝试了很长一段时间,现在写和读取数据从我的NFC卡。这些卡片是NTAG216。我可以使用libnfc示例来读取制造商ID,它工作得很好。但我需要向每个标记写入一些自定义数据,例如字符串“abcdefg”并将其读回

我已经阅读了几乎所有我能找到的关于libnfc的相关内容,但他们都没有谈论这个特定领域。我希望得到任何指导。代码示例将不胜感激


我将ACRU122 NFC读写器与一起使用。

枚举并激活标记后,可以使用该方法向标记发送原始NTAG命令(如读/写)。由于NTAG216的命令集与MIFARE Ultralight命令集(包括COMPATIBILITY WRITE命令)兼容,因此您还可以使用中定义的MIFARE标记的方便方法:

  • nfc\u启动器\u mifare\u cmd(pnd、MC\u WRITE、page和mp)
  • nfc\u启动器\u mifare\u cmd(pnd、MC\u READ、page和mp)
有关完整的代码示例,请参阅nfc mfultralight实用程序:


但是,您可能希望调整该代码,以使用更高效的MIFARE Ultralight/NTAG WRITE(0xA2)命令,而不是兼容性写入(这是
MC_WRITE
使用的)。

谢谢Mike。不管你写什么,我都会看一遍,然后回来。在这个问题上,这些命令是允许重写,还是一旦你们写了,所有东西都变成只读?@stefanomtagoo,这取决于你们在哪里写。NTAG216有一个一次性可编程页面(第3页)和可重写数据页面(只要不为这些页面设置W锁定位)。这应该通过使用符合ISO/IEC 14443 A的MIFARE ultralight卡来实现?谢谢编辑此问题