0

我正在为我的论文开发一个原型。我正在使用 ACR122u 读/写器,通过 APDU 命令将数据传递到 android 手机(HTC One M7)。在我应用最后一个补丁(6.09.401.5)之前,ACR122u 正在检测智能手机,但之后它就停止了

之前我只是用来激活智能手机上的 NFC,ACR122u 会从红绿色变为已检测到它。

请寻求一些指导

带着敬意

4

1 回答 1

1

可能由于更新而禁用了“自动 PICC 轮询”,或者在 PICC 轮询期间忽略了特定的标签类型。您可以尝试使用 ACR 提供的程序访问您的 ACR122U 阅读器或使用以下程序将 PICC 操作参数重置为默认值 (0xFF)。

public class ResetReader {
    public static final int FILE_DEVICE_SMARTCARD = 0x310000;
    public static final int IOCTL_CCID_ESCAPE_SCARD_CTL_CODE = 
                                        FILE_DEVICE_SMARTCARD + 3500 * 4;

    public static void main(String[] args) throws Exception {
        // the following loop lists all connected card terminals
        TerminalFactory factory = TerminalFactory.getDefault();
        for (CardTerminal term : factory.terminals().list()) {
            System.out.println(term.getName());
        }

        // connect to the ACR122U by choosing the correct name
        CardTerminal terminal = factory.terminals().getTerminal("ACS ACR122 0");
        Card c = terminal.connect("DIRECT");
        c.transmitControlCommand(IOCTL_CCID_ESCAPE_SCARD_CTL_CODE,
            new byte[]{(byte)0xFF, 0x00, 0x51, (byte)0xFF, 0x00});
    }

}
于 2015-03-24T14:53:42.650 回答