ST意法半导体
直播中

张波

8年用户 1495经验值
私信 关注
[问答]

为什么x-cube-nfc3通过UART初始化还无法检测到任何NFC标签呢

我一直在为 Nucleo-l496ZG 144 针板和 CR95HF 使用 x-cube-NFC3 演示。在 SPI 模式下,我可以成功初始化并从 NFC 标签读取 ID。我试图通过添加更改为 UART 模式

#define ST25R95_INTERFACE_UART 1

到平台.h。我还将 platform.h 中的宏从 huart1 更改为 huart3,因为它节省了额外接头的焊接。
通过这些修改,设备可以通过 UART 成功初始化,但是我无法让它检测到任何 NFC 标签。
是否需要更多的修改?




回帖(1)

张帅

2022-12-12 13:42:44
SSI_0(X-NUCLEO-NFC03A1 板的 CN5 连接器上的信号 D9)必须设置为低电平(参见CR95HF 数据表的表 4 ),以便在启动序列期间正确选择 UART 接口(参见第 3.2 节)数据表)。确保连接到 SSI_0 的 GPIO 在您的配置中设置为低电平。

在软件方面,必须启用 UART 中断,并且 HAL_UART_TxCpltCallback、HAL_UART_RxCpltCallback 和 HAL_UART_ErrorCallback 必须填充 st25r95UartTxCpltCallback(分别为 st25r95UartRxCpltCallback、st25r95UartErrorCallback)。
(它还提供了一个基于 X-CUBE-NFC3 2.0.0 的演示包,应该会有帮助)。
st25r95Initialize() 会尝试 5 次以在阻塞模式下使用 UART TX/RX 发送回显命令。如果 UART 通信失败(没有回复 echo 命令),st25r95Initialize 返回 ERR_SYSTEM。如果返回 ERR_NONE,说明你的 UART 通讯正常。然后进一步通信使用具有中断模式的 UART TX/RX。如果此部分失败,请确保启用 UART 中断并填充回调。
注意:您可以启用 ST25R95_DEBUG 以获得一些额外的跟踪
举报

更多回帖

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