我已经尝试了很长时间来写入和读取NFC卡上的数据。这些卡是NTAG216。我可以使用libnfc示例来读取制造商ID,它工作正常。但我需要在每个标签上写一些自定义数据,例如字符串“abcdefg”并将其读回。
我已经阅读了几乎所有关于libnfc的相关信息,但所有这些都没有谈到这个特定领域。我很感激任何指导。代码示例将不胜感激。
我使用带有libnfc 1.7.1 from Github的ACRU122 NFC读写器。
答案 0 :(得分:2)
枚举并激活标记后,可以使用方法nfc_initiator_transceive_bytes()
将原始NTAG命令(例如READ / WRITE)发送到标记。由于NTAG216的命令集与MIFARE Ultralight命令集(包括COMPATIBILITY WRITE命令)兼容,因此您还可以使用utils/mifare.h中定义的MIFARE标记的便捷方法:
nfc_initiator_mifare_cmd(pnd, MC_WRITE, page, &mp)
nfc_initiator_mifare_cmd(pnd, MC_READ, page, &mp)
有关完整的代码示例,请参阅nfc-mfultralight实用程序:nfc-mfultralight.c。
但是,您可能希望调整该代码以使用更高效的MIFARE Ultralight / NTAG WRITE(0xA2)命令而不是兼容性写入(MC_WRITE
使用的那种)。