工具/软件:Code Composer Studio
您好!
我在 TM4C129XNCZAD 的 SSI 上遇到了一些问题。 SSI 模块设为主机、发送数据时 SSI 模块不工作。 引脚 CSn 保持高电平、引脚时钟不变。 代码如下所示。
ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_OSC)、25000000);
SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinConfigure (GPIO_PA2_SSI0CLK);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinConfigure (GPIO_PA4_SSI0RX);
GPIOPinConfigure (GPIO_PA5_SSI0TX);
GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2);
SSIConfigSetExpClk (SSI0_BASE、ui32SysClock、SSI_FRF_MOTO_MOTO_0、SSI_MODE_MASTER、1000000、8);
SSIEnable (SSI0_BASE);
while (SSIDataGetNonBlocking (SSI0_BASE、&pui32DataRx[0]))
{
}
pui32DataTx[0]="S";
pui32DataTx[1]='p';
pui32DataTx[2]='I';
for (ui32Index = 0;ui32Index < NUM_SSI_DATA;ui32Index++)
{
SSIDataPut (SSI0_BASE、pui32DataTx[ui32Index]);
}
while (SSIBusy (SSI0_BASE))
{
}
for (ui32Index = 0;ui32Index < NUM_SSI_DATA;ui32Index++)
{
SSIDataGet (SSI0_BASE、&pui32DataRx[ui32Index]);
pui32DataRx[ui32Index]&= 0x00FF;
}
当运行到代码'SIDataPut (SSI0_BASE、pui32DataTx[ui32Index])'时、 片上的所有 SSI 引脚不会改变、SSIDR 寄存器保持为零、寄存器 SSISR 保持为0x3。
代码有什么问题?
谢谢你