This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SPI read problem (urgent)

Other Parts Discussed in Thread: ADS1298

Hi all,

I am really stuck at some point to read 8 channel data from ADS1298. 

Below is my read function from SPI:

void readData(Uint32* InpBuf, Uint16 wordLength, Uint16 FremLen)
{
CSL_FINS(CSL_SPI_REGS->SPICMD1,SPI_SPICMD1_FLEN,FremLen);
CSL_FINS(CSL_SPI_REGS->SPICMD2,SPI_SPICMD2_CLEN,wordLength);

for(bufIndex = 0; bufIndex < FremLen; bufIndex++)
{
CSL_SPI_REGS->SPIDR1 = 0x0000;
CSL_SPI_REGS->SPIDR2 = 0x0000;

/* set operation */
/* set start CMD - Read */
CSL_FINS(CSL_SPI_REGS->SPICMD2, SPI_SPICMD2_CMD,
CSL_SPI_SPICMD2_CMD_READ);

do
{
spiStatusReg = CSL_SPI_REGS->SPISTAT1;
spiBusyStatus = (spiStatusReg & CSL_SPI_SPISTAT1_BSY_MASK);
spiWcStaus = (spiStatusReg & CSL_SPI_SPISTAT1_CC_MASK);
}while((spiBusyStatus == CSL_SPI_SPISTAT1_BSY_BUSY) &&
(spiWcStaus != CSL_SPI_SPISTAT1_CC_MASK));

ReadVal = CSL_SPI_REGS->SPIDR2;
ReadVal = ReadVal << 16;
ReadVal |= CSL_SPI_REGS->SPIDR1 ;
ReadVal &= 0x00FFFFFF;
InpBuf[bufIndex] = ReadVal;
}
}

After executing read function only reading form channel 4 is changing and all remaining do not change. Could anyone explain this weird situation? Below are my readings after each readData function call:



Regards.