首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用NXP读卡器库读取NFC Mifare卡

用NXP读卡器库读取NFC Mifare卡
EN

Stack Overflow用户
提问于 2014-03-02 10:16:20
回答 1查看 4.7K关注 0票数 3

我正在尝试使用NFC阅读器库读取Mifare超光速卡的内容。

我对NFC完全陌生,我正在使用这个github存储库启动。

此回购中的代码允许检测到哪种类型的卡( Mifare,Mifare超轻.)读卡片的UID。为了读取Mifare超轻卡的内容,我添加了以下代码:

代码语言:javascript
复制
uint8_t bBufferReader[96];
memset(bBufferReader, '\0', 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“,当我读到它时,上面的代码会打印以下字节:

代码语言:javascript
复制
0103A010440312D1010E5402667248650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

所以我正在读卡片上的一些东西,但是没有“你好世界”文本的痕迹。

可能遗漏了一些东西(可能是一个很大的东西,或者,希望是一个小的东西)。任何帮助都会很好!

编辑

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

我正在读一张包含URL的卡片,www.google.com,这是我得到的信息:

代码语言:javascript
复制
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消息格式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 13:20:50

是的,这是NDEF格式!

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22126314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档