大家好,
我正在尝试使用 S32K116 主机 MCU 与 ST25R3920
通信。我设法读取了一些数据,但根据数据表,它们似乎毫无意义。例如:
我试图读取 IC 身份寄存器 (3Fh) 以测试我是否能够与设备通信。当我发送带有 01 前缀的 3Fh 进行读取操作时,我在缓冲区的第二个字节上读取了 15h(00010101b)。这让我想到也许我在通信过程中丢失了一些位,因为我应该读取 2Ah(00101010) 但后来我意识到当我读取不同的寄存器时我在不同的字节(比如接收缓冲区的第 3 个或第 6 个字节)上得到相同的 15h 值,这该寄存器的值是无意义的。
我尝试配置默认选项并正确运行启动序列,但我什至不知道它们是否以正确的方式执行。我正在标记一个用于将数据发送到 ST25R3920 的片段。
因此,我无法检测到导致此问题的问题。我可以尝试哪些选项,可能是什么问题?如果您对此主题有意见,我将不胜感激。提前致谢!
编辑:我不知道我应该在这里提供什么信息,也不想让问题太长。如果您需要更多信息,请告诉我,我会尽力提供我最好的知识。
此致,
富尔坎
- /* OP_READ is prefix for read operation ( 0x01 << 6 ) */
- spiTxBuffer[0] = (OP_READ) | 0x3E;
- /* Pull BSS down to start communication */
- BOARD_SetPin(GPIO_NFC_BSS, RESET);
- status = LPSPI_DRV_MasterTransferBlocking(LPSPICOM1, spiTxBuffer, spiRxBuffer, SPI_BUFFER_SIZE, TIMEOUT);
- if ( STATUS_SUCCESS == status )
- {
- LPSPI_DRV_MasterAbortTransfer(LPSPICOM1);
- BOARD_SetPin(GPIO_NFC_BSS, SET);
- memset(spiTxBuffer, 0, SPI_BUFFER_SIZE);
- }