Hi
I had tested with FRDM-KL43Z board with SPI1 and FIFO mode enabled.
The KL34 SPI supports up to 8-byte-deep FIFO, so customer could call SPI_WriteData() to transmit data up to 8 times.
While, after customer call SPI_WriteData() function, it need to polling the SPIx_S[SPTEF] bit to make sure the SPI transmit Buffer(FIFO) empty.
When the SPI FIFO enabled, I could call below code to send 8 bytes out:
SPI_WriteData(SPI1, 0x18);
SPI_WriteData(SPI1, 0x28);
SPI_WriteData(SPI1, 0x38);
SPI_WriteData(SPI1, 0x48);
SPI_WriteData(SPI1, 0x58);
SPI_WriteData(SPI1, 0x68);
SPI_WriteData(SPI1, 0x78);
SPI_WriteData(SPI1, 0x88);
while(!(SPI1->S & SPI_S_SPTEF_MASK))
{}

I attached my test code for your reference.
When the SPI FIFO enabled, there doesn't need add delay() function between SPI_WriteData() function.
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------