Hai,
This is my master and slave mode configuration. Can anyone help me to find out, what mistake i have done for slave mode configuration. Master mode is working well. But slave doesn’t receive any data from master.
void SPI1Init( void )
{
/* Configure PIN connect block */
/* bit 32, 54, 76 are 0x10, bit 98 are 0x00 */
/* port 0 bits 17, 18, 19, 20 are SSP port SCK1, MISO1, MOSI1, and SSEL1 */
/* set SSEL to GPIO pin that you will have the totoal freedom to set/reset
the SPI chip-select pin */
SSPCR1 = 0; /* SSP Disable */
PINSEL1 |= 0x00A8;
/* SSEL configuration */
UNSELECT_CARD();
/* Set PCLK to the same as CCLK */
VPBDIV = 0x01;
/* Set DSS data to 8-bit, Frame format SPI, CPOL = 0, CPHA = 0, and SCR is 0 */
SSPCR0 = (7 << 0) | (0 << 4) | (0 << 6) | (0 << 7) | (0 << 8);
/* SSPCPSR clock prescale register, master mode, minimum divisor is 0x02 */
SSPCPSR = 16; /* SCK1 = PCLK / (CPSDVSR * [SCR+1]) */
/* SSP Interrupt Enable Mask */
SSPIMSC = 0;
if ( 0)//mode == SPI_MODE_MASTER )
{
SSPCR1 &= ~(1 << 2); /master mode/
}
else
{
SSPCR1 |= (1 << 2); /slave mode/
}
SSPCR1 |= (1 << 1); /* SSP Enable */
return;
}