首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ACR122 -卡仿真

ACR122 -卡仿真
EN

Stack Overflow用户
提问于 2011-04-14 18:23:16
回答 3查看 10.5K关注 0票数 11

怎样才能让近场通信非接触式读卡器ACR122U像标签一样工作(卡模拟模式)?招股说明书声称该设备可以进行卡片仿真,但SDK似乎没有提供此功能的示例或文档。

有人知道怎么做吗?是否需要额外的软件?请注意,我的目标平台是MS Windows。

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2011-04-20 15:42:41

您还可以尝试以十六进制发送以下ADPU,以将读卡器置于“卡仿真”模式:

FF 00 00 00 27 D4 8C 00 08 00 12 34 56 40 01 FE A2 A3 A4 A5 A6 A7 C0 C1 C2 C3 C4 C5 C6 C7 FF AA 99 88 77 66 55 44 33 22 11 00 00

票数 1
EN

Stack Overflow用户

发布于 2014-04-21 20:18:44

为了使ACR122 (或者更确切地说是其中的PN532 NFC控制器芯片)进入卡仿真模式,您需要执行以下操作:

  1. ReadRegister:FF000000 08 9000

D406 6305 630D 6338 < D507 xx yy zz

  1. 更新寄存器值:

9000 = xx | 0x004;// CIU_TxAuto |= InitialRFOn yy = yy & 0x0EF;// CIU_ManualRCV &= ~9000禁用zz = zz & 0x0F7;// &= CIU_Status2 &= xx 11 D408 6302 80 6303 80 6305 xx 630D yy 6338 zz < D509 xx

  1. SetParameters:FF000000 03 9000

30 < D412 D513

  1. TgInitAsTargetFF000000 27 D48C 05 0400 123456 20 0000000000000000000000000000000000 000000000000000000 00 < D58D xx... 9000

其中xx应等于0x08。

  1. 使用一系列TgGetData和TgSetData命令进行通信:FF000000 02 D486 < D587 xx命令

其中xx是状态代码(成功时应为0x00 ),C-APDU是从读取器发送的命令。

FF000000 yy D48E < D587 xx 9000

其中yy是2+ R-APDU的长度(响应),xx是状态码(成功时应为0x00 )。

票数 1
EN

Stack Overflow用户

发布于 2013-05-25 09:42:28

您可以使用LibNFC。它有这方面的示例代码。

不幸的是,我仍然没有让它在Windows中正常工作。您可能必须为特定的驱动程序编译libnfc。

此外,许多库对ACR122u的支持似乎也很差。显然,它并不是为这个用途而设计的。卡仿真也有一些特殊的问题(比如超时)。我们真的都需要停下来看看ACR122u。我刚买了流行的和容易拿到的东西,但现在后悔了。

对于将来遇到这种情况的浏览器/搜索者:请查看libnfc站点上的兼容性部分,并购买他们推荐的东西!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5661808

复制
相关文章

相似问题

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