【发布时间】:2014-07-16 09:58:44
【问题描述】:
我正在尝试将我的 PN532 置于卡模拟模式。当我发送TgGetData 命令时,我收到来自阅读器的错误消息。
1 .读寄存器
{(byte)0xFF,0x00,0x00,0x00,0x08, (byte)0xD4, 0x06, 0x63, 0x05, 0x63, 0x0D, 0x63, 0x38 }
RESPONSE :: D507 07 07 15 9000
2 。更新寄存器
byte xx = (byte) 07;
byte yy = (byte) 07;
byte zz = (byte) 15;
xx = (byte) (xx | 0x004);
yy = (byte) (yy & 0x0EF);
zz = (byte) (zz & 0x0F7);
3 .写寄存器
{(byte)0xFF,0x00,0x00,0x00,0x11, (byte) 0xD4, 0x08, 0x63, 0x02, (byte) 0x80,
0x63, 0x03, (byte) 0x80, (byte) 0x63, (byte) 0x05,
xx, 0x63, 0x0D,yy, 0x63, 0x38, zz}
RESPONSE :: D509 9000
4 .设置参数
{(byte)0xFF, 0x00, 0x00 ,0x00, 0x03, (byte)0xD4, 0x12, 0x30}
RESPONSE :: D513 9000
5 . TgInitAsTarget
{(byte)0xFF, 0x00, 0x00, 0x00 , 0x27 , (byte)0xD4, (byte)0x8C ,
0x05 , 0x04, 0x00 , 0x12, 0x34, 0x56 , 0x20 , 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00 , 0x00}
RESPONSE :: D58D 08 E0 80 9000
6 . TgGetData
{(byte)0xFF, 0x00, 0x00 ,0x00, 0x02, (byte)0xD4, (byte)0x86}
RESPONSE :: D587 29 9000
所以TgGetData 的响应给出了错误代码 D587 29 9000,其含义是遵循 PN532 用户手册:
- 错误代码 0x29:配置为目标的 PN532 已被其释放 发起人
欢迎任何与此代码相关的建议或评论。
非常感谢!
【问题讨论】:
-
我相信您正在寻找的答案可以在此answer 中找到。你的设置可能不同,但是这个人有同样的问题。请务必阅读我链接中的 cmets 以查找更多信息。
-
TgGetDatacommand 是紧跟在TgInitAsTarget命令之后,还是两者之间有(短)延迟? -
您从寄存器 0x6338 读取的值 (0x15) 看起来好像正在执行 AutoColl 命令。当您检索这些值时,您是否新插入了阅读器?另请注意,设置
zz = (byte) 15;不等于设置zz = (byte) 0x15;。 -
@user2567273 tnx 等待您的回复。我做到了,我看了很多关于那个答案和 cmets 的内容。不幸的是,它没有走得更远。
-
@MichaelRoland 我尝试了几次重新插件和测试,现在寄存器值是 0x07、0x07、0x05。谢谢你的注意。我将 15 更改为 0x05。 TgGetData 和 TgInitAsTarget 之间有一个短暂的延迟。问题是否可能是我的指标在超时到期之前没有回复?