Other Parts Discussed in Thread: SYSCONFIG, C2000WARE
Hello,
I am studying how this micronctroller works and I am having problems understanding how to properly set a communication between two LAUNCHXL-F280049C via SPI.
I would like to transfer an array of 11 elements of uint16_t type using the FIFO interrupts from the master to the slave. My configuration and code are the following (I am using sysconfig).
Board 1 TX ISR(master):

__interrupt void spiTxFIFOISR(){
for(i=0; i< dim; i++){
SPI_writeDataNonBlocking(mySPI0_BASE, data[i]);
}
counter++;
SPI_clearInterruptStatus(mySPI0_BASE, SPI_INT_TXFF);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP6);
}
Board 1 sysconfig:

Board 2 RX ISR(slave):
__interrupt void spiRxFIFOISR(){
for (i = 0; i< dim; i++){
data[i] = SPI_readDataNonBlocking(mySPI0_BASE);
}
counter++;
SPI_clearInterruptStatus(mySPI0_BASE, SPI_INT_RXFF);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP6);
}
Board 2 sysconfig:

(Note that I have enabled and remapped both the interrupts in the setup part of the main which is not present in the shown codes)
I expect to receive correctly the array of data I am sending on the slave but what I see is the same array shambled at each iteration of the receive interrupt. Could you explain me what I am doing wrong? I am following the example provided by TI for the SPI communication but I don't get where are my mistakes.


On the left there's the array I am sending while on the right there's the array I receive.
Thank you in advance .
Best regards,
Edoardo