Other Parts Discussed in Thread: C2000WARE
HI I'm having a problem with the SPI and can't seem to figure it out..
When sending 2 bytes of data, data is stored and is followed by a null .
The data is sent once, but the pattern is repeated. until the fifo overflows setting the overflow flag.
If a new word is sent it is ignored, Can you review by source code to narrow down the problem
SpiaRegs.SPICCR.bit.SPISWRESET=0; // Reset SPI
SpiaRegs.SPICCR.bit.SPICHAR = 0x0007; // 8-Bit Character
SpiaRegs.SPICCR.bit.SPILBK= 0; // Loop Back Disable
SpiaRegs.SPICCR.bit.CLKPOLARITY = 0; //
SpiaRegs.SPICTL.all=0x0000; //slave , normal spi clk,
SpiaRegs.SPICTL.bit.OVERRUNINTENA = 1; //Enable Over run flag
SpiaRegs.SPICTL.bit.TALK = 1; //enable the receiver’s SPISTE input pin
SpiaRegs.SPICTL.bit.MASTER_SLAVE = 0; // SLAVE
SpiaRegs.SPICTL.bit.CLK_PHASE = 0;
SpiaRegs.SPISTS.all=0x0000; // Over run Flag ???
SpiaRegs.SPICCR.bit.SPISWRESET= 1
SpiaRegs.SPIFFRX.all=0x0028; // Set RX FIFO level to 8
SpiaRegs.SPIFFCT.all=0x00; // Transfer Buffer
SpiaRegs.SPIPRI.all=0x0010;
SpiaRegs.SPICCR.bit.SPISWRESET=1; // Enable SPI
SpiaRegs.SPIFFRX.bit.RXFIFORESET=1;
SpiaRegs.SPIFFTX.bit.TXFIFO=1;