大家好,
我只是 S32K344 的初学者,正在尝试与外部闪光灯
通信。我自己用GPIO控制NSS。我尝试读取设备的 ID,它包含 2 个步骤:
1 - 向外部闪存发送 ID 读取命令
2 - 从外部闪存读回 3 个字节
我发送以下命令;
FLASH_NSS_LOW();
Spi_SetupEB(0u, CommandArray, NULL, 1u);
Spi_SyncTransmit(SpiConf_SpiSequence_FlashSpiSequence);
Spi_SetupEB(0u, NULL, ReadArray, 3u);
Spi_SyncTransmit(SpiConf_SpiSequence_FlashSpiSequence);
FLASH_NSS_HIGH();
这个顺序正确吗?因为每当我发送 Spi_SyncTransmit 命令时,我都会收到一个异常脉冲。
因此,我在 State->TxIndex = 0u 之后将 FLASH_NSS_LOW 删除到 Lpspi_TransmitTxInit;
所以,当我发送第一个命令时,脉冲被忽略,但是当我发送第二个 Spi_SyncTransmit 时,另一个脉冲只会打乱我的命令。