我正在使用 X-NUCLEO-NFC05A1 和 STM32 NUCLEO-F401RE 板来读取 NFC-A (ISO14443A) 标签。我找不到任何读取标签的功能。谁能帮我?
我尝试了ST 给出的示例,我可以从那里找到写函数。但是我从那里找不到任何阅读功能。
您可以简单地使用rfalTransceiveBlockingTxRx()
由rfal_rf.h
RFAL 库提供的 from。该收发机制适用于所有射频技术。
由于没有用于与 NFC-A 标签交互的通用命令集,因此 READ 命令的确切编码将取决于您的特定标签类型。例如,对于 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