ST意法半导体
直播中

池鹄展

8年用户 982经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

ST25R3911B是否支持使用非阻塞SPI驱动程序的RFID通信?

硬件设置:MCU:STM32L496ZG(Nucleo-L496ZG 板)通过 SPI 连接到 ST25R3911B,标签符合 ISO15693
软件:使用 rfal 库和 en.STSW-ST25RFAL001 (V2.1.2) 中的 iso15693 API
集成开发环境:Atollic TrueStudio V9.3.0
是否可以使用非阻塞 SPI 驱动程序使用 ST25r3911B 和 STM32L496 MCU 创建 RFID 通信接口?
到目前为止,我已经成功地使用阻塞驱动程序实现了 RFID 通信,这些驱动程序涉及使用 platform.h 文件中的“spiTxRx”函数,并在 ISR 中为 STM32L496 的 INT 引脚调用“st25r3911Isr()”。
但是,如果我有非阻塞 SPI 驱动程序,它实现了一个状态机来处理 SPI 事务,而不是像 `spiTxRx` 这样的单个函数调用,会发生什么情况?在这种情况下,如何修改“platform.h”文件并使用 rfal?
ST25R3911B是否支持使用非阻塞SPI驱动程序的RFID通信?









回帖(1)

何玉华

2023-2-7 14:19:30
当然你可以在 spiTxRx() 中做任何你想做的事,例如在 SPI 传输进行时休眠。但是,在退出函数时,调用代码期望操作完成并返回数据。
通常,SPI 会以大约 2-4MHz 的速度运行,并且其中的典型传输大部分时间是两个或三个字节。所以 2 个字节的实际 SPI 时间在 2us 范围内。几乎不值得同时执行任何其他任务或使用 ISR/DMA。这就是为什么我们没有将其分解成更小的(状态机)部分。
举报

更多回帖

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