Hi.
I updated some contents with my review results. So please consider below contents.
First, my goal is to transmit some frames of slave as below picture (2~3frame. 1frame is 8byte)

And I have to change frame values of slave based on conditions and send several frames
■ Question: Where should I put 'LPSPI_DRV_SlaveTransfer()' into the source code?
1. between main() and for(;;)
- when I tested this position, slave transmitted the frame only 1 time.
2. inside for(;;) :
- when I tested this position, slave responsed to every master's transmission but the frame was different to defined variable.
3. inside interrupt function
- But there is no interrupt (from you answer)
For you answer, I understood the problem : slave transmit FIFO is empty.
- The point is, When the master is transmitting, the slave buffer should be already written.
So I changed 'LPSPI_DRV_SlaveTransfer()' position to resolve my problem. (SPI slave's output is shifted to the left)
But the shift of first slave frame is not fixed. I think this problem and interrupt might be separate.
■ Test result based on position
1. In the main(), between 'LPSPI_DRV_SlaveInit' and for(;;).
: Slave's frame is transmitted only one time. Although master transmits frames, slave does not response.

2. in the main(), inside for(;;)
: slave transmits frames whenever master transmits frames. but slave's frame is different to defined variable.

3. In the main(), between 'LPSPI_DRV_SlaveInit' and for(;;). and inside for(;;).
* 'LPSPI_DRV_SlaveTransfer()' is used 2 times.
: result is eqaul to No.2

4. in the main(), inside for(;;) and added 'LPSPI_DRV_MasterTransferBlocking()'
: result is equal to No.2

■ Difference based on 'LPSPI_DRV_SlaveTransfer()' position
1. in the main(), inside for(;;)
: slave responses whenever master transmits frames. but slave' frame is different to defined variable.
2. outside main(), inside PORTB_ISR()
: slave responses whenever master transmits frames. slave's frame is equal to defined variable. but only first frame is shifted to the left.
* slave frame : {0x00,0x80,0x00,0x00,0x00,0x00,0x7e,0xc1}
1) First frame : {0x01,0x00,0x00,0x00,0x00,0x00,0xfd,0x83}
- first slave frame is shifted to the left and 1 is added to the last bit (farthest to the right)

2) Second frame : {0x00,0x80,0x00,0x00,0x00,0x00,0x7e,0xc1};
- after second frame, slave frame is not shifted.

■ my approach and your answer.
- for your answer, Where does SPI interrupt trigger in the source code? I have to know the code position and then I can put the slave frame value there.

Again, my question is as below.
■ Where should I put 'LPSPI_DRV_SlaveTransfer()' into the source code?
or How can I fix the slave frame's shift to the left?
or How can I change last bit(1, added to farthest to the right) to 0? (I have to send '0x01,0x00,0x00,0x00,0x00,0x00,0xfd,0x82' at the first slave frame)
Thank you.
Kim.