ST意法半导体
直播中

向日葵的花季

8年用户 1189经验值
擅长:电源/新能源
私信 关注
[问答]

ST25R3916使用RFAL库时未正确初始化是什么原因?怎么解决?

我正在开发一个使用 ST25R3916 检测和处理标签的应用程序。该应用程序正在运行 Azure RTOS,我已使用 SPI 将读取器连接到 uP。实际上,我使用的是 NXP RT1060 开发套件和通过跨接电缆连接的 X-NUCLEO-NFC06A1 开发套件。我试图达到可以检测标签的程度,但是在按照示例运行代码时出现错误。
根据示例和我的代码,我使用以下序列来初始化设备以与 ISO 15963 标签进行通信
  • rfalAnalogConfigInitialize();
  • 错误 = rfalInitialize();
    • 返回 ERR_NONE
  • err = rfalNfcvPollerInitialize();
    • 返回 ERR_NONE
  • 错误 = 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 处理程序充满信心。
有没有人对要检查的事情有任何想法?





回帖(1)

刘鹏

2022-12-5 11:58:42
我很高兴地报告问题似乎已解决。由于我在 RTOS 系统中运行,我的最后一个问题与使用中断标志触发 ISR 节直接调用它有关。尽管 1ms 线程的优先级设置高于我用来控制芯片的线程,但我必须显着提高 1ms 线程的优先级才能使其可靠运行。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分