I want to use MKM34Z256VLL7 microcontroller in SPI slave mode, I configurated it but it doesn't work.
SPI0 IRQ interrupt is not working. and datas are not comming in receive buffer.
"
#include "MKM34Z7.h"
void SPI_Slave_Init(void) {
SIM->SCGC4 |= SIM_SCGC4_SPI0_MASK;
SIM->SCGC5 |= SIM_SCGC5_PORTD_MASK;
PORTD->PCR[2] = PORT_PCR_MUX(2); // SCK
PORTD->PCR[3] = PORT_PCR_MUX(2); // MOSI
PORTD->PCR[4] = PORT_PCR_MUX(2); // MISO
PORTD->PCR[5] = PORT_PCR_MUX(2); // SS
SPI0->C1 = SPI_C1_SPE_MASK;
SPI0->C1 &= ~SPI_C1_MSTR_MASK;
SPI0->C2 = 0;
NVIC_SetPriority(SPI0_SPI1_IRQn, 2);
NVIC_EnableIRQ(SPI0_SPI1_IRQn);
SPI0->C1 |= SPI_C1_SPIE_MASK;
}
static volatile uint8_t receivedData;
static volatile uint8_t dataToSend = 0x55;
void SPI0_SPI1_IRQHandler(void) {
if (SPI0->S & SPI_S_SPRF_MASK) {
receivedData = SPI0->DL;
SPI0->DL = dataToSend;
}
}"