0

我试图了解 InDataExchange 命令的实际工作方式。我正在使用 pn532 组件(我将此命令从微控制器发送到 PN532)。当我使用 InDataExchange 命令时,它似乎可以工作,因为从 PN532 返回到我的微控制器的状态字节是 0x00,这意味着交换工作。但实际上我没有在数据字段中发送任何内容,因为我不明白我们必须在这个命令的有效负载中插入什么(InDataExchange)。我正在尝试从 PN532 组件读取写入标签中的数据,但我只是不知道怎么说“读取标签中包含的数据”。我听说过 C-APDU 命令,它是 ISO/IEC 14443-4 协议的一部分,但我真的不明白它的实际工作原理。

4

2 回答 2

0

就我而言,我发现这个 git 存储库有很好的例子。它是用 python 编写的,但我可以很容易地将它们翻译成 Rust 以满足我的需要。https://github.com/adafruit/Adafruit_CircuitPython_PN532/blob/fc8b488dbf4573188b5c3141b3178e0032b9f30a/adafruit_pn532/adafruit_pn532.py#L407

在我的项目中,我正在使用 MiFare Classic 卡。在这里,它解释了它们是如何在内部组织的。它有助于理解上一个 git 存储库中的文档。https://www.puntoflotante.net/TUTORIAL-RFID-ISO-14443A-TAGS-13.56-MHZ.htm

我假设 MiFare 经典卡,但也有其他卡的其他信息。

于 2021-06-13T12:51:46.940 回答
0

要使用的命令取决于标签的类型/型号(标签有最低规格)。

有关确切标签类型/型号的更多详细信息会有所帮助,但您可以在http://apps4android.org/nfc-specifications/阅读大多数标签类型的规范

最简单的是类型 4 标签,但其他类型可以使用 sudo C-APDU,数据表/手册将有更多详细信息,例如https://www.nxp.com/docs/en/user-guide/141520 上的第 7 节。 pdf

于 2020-06-11T13:59:18.070 回答