I am using the Launchpad with the TM4C129ENCPDT. Running it as an SSI-Slave via the BoosterPack1 (PD2 SSI2FSS from BoosterPack2). When i am in debug mode and executing the SSIEnable(SSI2_BASE); my MOSI signal looks like the chipselect. Before that i can see the data at my oszilloscope.
void
InitSSI(void)
{
uint32_t ui32SysClock;
ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
SYSCTL_OSC_MAIN |
SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480), 120000000);
//
// The SSI2 peripheral must be enabled for use.
//
SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI2);
//
// For this example SSI2 is used with PortD[5:2]. The actual port and pins
// used may be different on your part, consult the data sheet for more
// information. GPIO port D needs to be enabled so these pins can be used.
//
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
//
// Configure the pin muxing for SSI2 functions on port D2, D3, D4, and D5.
// This step is not necessary if your part does not support pin muxing.
//
GPIOPinConfigure(GPIO_PD3_SSI2CLK);
GPIOPinConfigure(GPIO_PD2_SSI2FSS);
GPIOPinConfigure(GPIO_PD1_SSI2XDAT0);
GPIOPinConfigure(GPIO_PD0_SSI2XDAT1);
//
// Configure the GPIO settings for the SSI pins. This function also gives
// control of these pins to the SSI hardware. Consult the data sheet to
// see which functions are allocated per pin.
// The pins are assigned as follows:
// PD1 - SSI2Tx
// PD0 - SSI2Rx
// PD2 - SSI2Fss
// PD3 - SSI2CLK
//
GPIOPinTypeSSI(GPIO_PORTD_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 |
GPIO_PIN_3);
//
// Configure and enable the SSI port for SPI slave mode. Use SSI0,
// system clock supply, idle clock level low and active low clock in
// freescale SPI mode, slave mode, 1MHz SSI frequency, and 8-bit data.
// For SPI mode, you can set the polarity of the SSI clock when the SSI
// unit is idle. You can also configure what clock edge you want to
// capture data on. Please reference the datasheet for more information on
// the different SPI modes.
//
SSIConfigSetExpClk(SSI2_BASE, ui32SysClock, SSI_FRF_MOTO_MODE_3,
SSI_MODE_SLAVE, 1000000, 8);
//
// Enable the SSI2 module.
//
SSIEnable(SSI2_BASE);
}
So my Question is: am i missing something? Am i able to use SYSCTL_USE_PLL for slave mode?
Thanks in advance!
grretings
Lukas Thumfart