c - X-NUCLEO_NFC05A1有读取NFC-A(ISO14443A)标签的功能吗?

标签 c nfc stm32 rfid nucleo

我使用 X-NUCLEO-NFC05A1 和 STM32 NUCLEO-F401RE 板来读取 NFC-A (ISO14443A) 标签。我找不到任何读取标签的功能。谁能帮帮我?

我尝试了 sample given by ST ,我可以从那里找到写函数。但是我在那里找不到任何阅读功能。

最佳答案

您可以简单地使用 rfalTransceiveBlockingTxRx()来自 rfal_rf.h由 RFAL 库提供。该收发机制适用于所有射频技术。

由于没有用于与 NFC-A 标签交互的通用命令集,因此 READ 命令的确切编码将取决于您的特定标签类型。例如,对于 Type 2 标签,READ 命令将包含两个字节:0x30 <BLOCK-ADDRESS-AS-SINGLE-BYTE>

对于这样的标签,例如,您可以使用如下内容:

uint8_t bufferTx[2];
uint16_t lenTx;
uint8_t bufferRx[16];
uint16_t lenRxMax, lenRx;
ReturnCode status;

lenTx = 0;
bufferTx[lenTx++] = 0x30;
bufferTx[lenTx++] = 0;  // TODO: change this to the read offset

lenRxMax = 16;
lenRx = 0;
status = rfalTransceiveBlockingTxRx(&bufferTx[0], lenTx, &bufferRx[0], lenRxMax, &lenRx, RFAL_TXRX_FLAGS_DEFAULT, rfalConvMsTo1fc(5));

// if status does not indicate error,
// you will now find the response in bufferRx,
// the actual response length is lenRx

关于c - X-NUCLEO_NFC05A1有读取NFC-A(ISO14443A)标签的功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56334836/

相关文章:

c - 在 STM32f779ii 上设置双组模式

c - 数组是按值传递还是按引用传递?

c++ - tm 结构中 tm_sec 字段中 61 的用途是什么

android - NFC Intent -> 从标签获取信息

java - 在 Android 中使用 application/vnd.wfa.wsc 创建 NDEF WiFi 记录

c++ - 如何在一个类中同时运行某些东西(在单线程平台中)?

c - 如何用 C 实现分层并发有限状态机 (HCFSM)?

c - 获取();不暂停循环

c - 将项目添加到数据结构 (C)

android - 如何在Android中使用ACR35 NFC读写器