识别NFC卡上使用的是哪种技术?

时间:2018-12-16 17:43:45

标签: nfc

我有一个支持多种技术的NFC卡。 (例如NfcA,MifareClassic,ISOdep)。我想了解使用了什么技术来写入标签。 这些技术是否独立?我的意思是可以使用mifareclassic写入一些数据并使用NfcA(或ISOdep)读取该数据吗? 还是这些技术各自都有自己的记忆?

2 个答案:

答案 0 :(得分:0)

总是有一个要写入的内存,您可以写入NfcA并自由读取mifareClassic。

如果您这样说,它们就是“独立的”。而不是在班级上独立使用,例如MifareUltralight几乎完全依赖NfcA。

答案 1 :(得分:0)

最近几天,我一直在阅读有关该主题的很多文章,但没有找到很好的参考。 我自己也做了一些测试。我写了一个Android应用程序,将NdefMessage写到标签。当我使用MifareClassic API转储内存时,我找到了相应的数据字节。

我看了看MifareClassic库中的代码,发现所有相关函数(例如readblock,writeblock)创建一个字节数组并将其传递给transceive()。在android文档中,提到了调用MifareClassic.transceive与调用NfcA.transceive相同。

有点讽刺意味,因为NfcA文档中提到NfcA和MifareClassic不相同,并且它们具有不同的传输协议。

我意识到的另一件事是Ndef本身并不是一个协议。它是存储数据的标准格式。显然,Ndef类针对不同的标签具有不同的实现。在MifareClassic标记上,如果标记使用默认键,则只能使用Ndef类向其写入数据。否则您将无法写入标签。