c/c++语言开发共享使用恩智浦读卡器库读取NFC Mifare卡

我正在尝试使用NFC阅读器库阅读Mifare Ultralight卡的内容。

我是NFC的新手,我正在使用这个github存储库来启动。

此repo中的代码允许检测检测到哪种类型的卡(Mifare,Mifare ultralight …)并读取卡的UID。 我添加了此代码以便阅读Mifare超轻卡的内容:

uint8_t bBufferReader[96]; memset(bBufferReader, '', 0x60); PH_CHECK_SUCCESS_FCT(status, phalMful_Read(&alMful, 4, bBufferReader)); int i; for(i = 0; i < 96; i++){ printf("%02X", bBufferReader[i]); } 

我有一张包含文本“Hello world”的卡片,当我读到它时,上面的代码片段打印了以下字节:

 0103A010440312D1010E5402667248650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 

所以我正在读取卡片中的一些内容,但是没有“Hello world”文本的痕迹。

可能缺少一些东西(可能是一件大事,或者希望是一些东西)。 任何帮助都会很棒!

编辑

所以我取得了一些进展。 Mifare超轻型包含16页4字节,0 – 3用于内部使用(序列号,锁等),4 – 15用于用户数据。 我现在可以阅读我的卡片的内容了,但是,只剩下几个问题:

我正在读一张包含url的网卡,www.google.com,这是我得到的:

 03 0F D1 01 -> Page 1, 4 bytes of non text data, not sure what it is 0B 55 01 67 -> Page 2, 3 bytes of non text data, then 1 bytes for the "g" 6F 6F 67 6C -> Page 3, 4 bytes for "oogl" 65 2E 63 6F -> Page 4, 4 bytes for "e.co" 6D FE 00 00 -> Page 6, 1 byte for "m", 1 byte for I don't know 00 00 00 00 -> Other pages are just empty 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

所以我有7个字节的数据+我的url,“google.com”+ 1个字节的FE

我找不到这7个前缀字节+这1个尾随字节是什么…

再次编辑

好的,它是NDEF消息格式。

    是的它是NDEF格式!

     03 NDEF Message 0F length Record 1 D1 - MB, ME, SR, TNF=”NFC Forum well-known type” 01 Type length 0B Payload length 55 Type - “U”(Abbrivation for URL) 67 6F 6F 67 6C 65 2E 63 6F 6D (google.com) Record 2 FE Terminator NDEF 

      以上就是c/c++开发分享使用恩智浦读卡器库读取NFC Mifare卡相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/549711.html

      (0)
      上一篇 2021年1月14日
      下一篇 2021年1月14日

      精彩推荐