我正在开发一个使用 ST25R3916 检测和处理标签的应用程序。该应用程序正在运行 Azure RTOS,我已使用 SPI 将读取器连接到 uP。实际上,我使用的是 NXP RT1060 开发套件和通过跨接电缆连接的 X-NUCLEO-
NFC06A1 开发套件。我试图达到可以检测标签的程度,但是在按照示例运行代码时出现错误。
根据示例和我的代码,我使用以下序列来初始化设备以与 ISO 15963 标签进行
通信:
- rfalAnalogConfigInitialize();
- 错误 = rfalInitialize();
- err = rfalNfcvPollerInitialize();
- 错误 = rfalFieldOnAndStartGT();
- 返回 ERR_INTERNAL (12U)
- 由 rfal_rfst25r3916.c 中的第 1190 行生成
- ret = st25r3916PerformCollisionAvoidance(ST25R3916_CMD_INITIAL_RF_COLLISION,ST25R3916_THRESHOLD_DO_NOT_SET,ST25R3916_THRESHOLD_DO_NOT_SET,gRFAL.timings.nTRFW);
- 根据示例忽略检查
- 错误 = rfalNfcvPollerCheckPresence( &invRes);
- 返回 ERR_IO (3U)
- 由 rfal_rfst25r3916.c 中的第 2953 行生成
- ret = rfalTransceiveRunBlockingTx();
在这一点上,我试图理解为什么我会收到这些错误,以便我可以继续调试。我对 SPI 接口相当有信心,因为我可以与设备进行通信和配置。此外,我对互斥量实现和 irq 处理程序充满信心。
有没有人对要检查的事情有任何想法?