MOD5270 QSPI
Posted: Sat Oct 31, 2015 8:52 pm
Hi!
I am having difficulty getting the QSPI to "loop back" using a jumper from J2[27] to J2[28]. No signals appear on a scope connected to the clock on J2[25]. Code was derived from the sample as follows:
static BYTE RBuffer[10000], TBuffer[10000];
TBuffer[0] = 12;
TBuffer[1] = 12;
TBuffer[2] = 12;
TBuffer[3] = 12;
TBuffer[4] = 12;
RBuffer[0] = 2;
RBuffer[1] = 2;
RBuffer[2] = 2;
RBuffer[3] = 2;
RBuffer[4] = 2;
// Initialize pins needed for QSPI
J2[25].function(PINJ2_25_SPI_CLK);
J2[27].function(PINJ2_27_SPI_DIN);
J2[28].function(PINJ2_28_SPI_DOUT);
// The QSPI functionality can be tested with a simple jumper from J2[27] to J2[28]
// Create and initialize semaphore for QSPI (optional)
OS_SEM QSPI_SEM;
OSSemInit(& QSPI_SEM, 0);
QSPIInit(); // Keep overloaded defaults
int num = 4; // send 4 bytes.
while(1)
{
QSPIStart(TBuffer, RBuffer, num, &QSPI_SEM); // Send data via QSPI
OSSemPend( &QSPI_SEM, 0 ); // Wait for QSPI to complete
OSTimeDly( 20 );
fprintf (stderr, "RX %d %d\r\n", RBuffer[1], RBuffer[2]);
fprintf (stderr, "TX %d %d\r\n", TBuffer[1], TBuffer[2]);
}
The RBuffer values always get changed to 255. Any ideas?
I am having difficulty getting the QSPI to "loop back" using a jumper from J2[27] to J2[28]. No signals appear on a scope connected to the clock on J2[25]. Code was derived from the sample as follows:
static BYTE RBuffer[10000], TBuffer[10000];
TBuffer[0] = 12;
TBuffer[1] = 12;
TBuffer[2] = 12;
TBuffer[3] = 12;
TBuffer[4] = 12;
RBuffer[0] = 2;
RBuffer[1] = 2;
RBuffer[2] = 2;
RBuffer[3] = 2;
RBuffer[4] = 2;
// Initialize pins needed for QSPI
J2[25].function(PINJ2_25_SPI_CLK);
J2[27].function(PINJ2_27_SPI_DIN);
J2[28].function(PINJ2_28_SPI_DOUT);
// The QSPI functionality can be tested with a simple jumper from J2[27] to J2[28]
// Create and initialize semaphore for QSPI (optional)
OS_SEM QSPI_SEM;
OSSemInit(& QSPI_SEM, 0);
QSPIInit(); // Keep overloaded defaults
int num = 4; // send 4 bytes.
while(1)
{
QSPIStart(TBuffer, RBuffer, num, &QSPI_SEM); // Send data via QSPI
OSSemPend( &QSPI_SEM, 0 ); // Wait for QSPI to complete
OSTimeDly( 20 );
fprintf (stderr, "RX %d %d\r\n", RBuffer[1], RBuffer[2]);
fprintf (stderr, "TX %d %d\r\n", TBuffer[1], TBuffer[2]);
}
The RBuffer values always get changed to 255. Any ideas?