你(们)好
我目前正在 tm4c123gh6pge 板中进行 SPI 通信,主要是...
我想使用 SPI 协议在 tm4c123gh6pge 微控制器中通信两个 SPI、一个 SPI0 (Tiva)用于主器件、另一个 SPI2 (Tiva)用于从器件。
是否可以使用 SPI 协议对两个 Tiva 进行通信。
使用
1.Tiva (主器件) 2.Tiva (从器件)
SPI0 SPI2
1,时钟--- > 克
2,MISO ---- > MISO
3.MOSI ---- > MOSI
4.SS--- > SS
我编写的代码是..
SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHz);
SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SysCtlPeripheralEnable (SYSCTL_Periph_SSI2);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOH);
GPIOPinConfigure (GPIO_PA2_SSI0CLK);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinConfigure (GPIO_PA4_SSI0RX);
GPIOPinConfigure (GPIO_PA5_SSI0TX);
GPIOPinConfigure (GPIO_PB4_SSI2CLK);
GPIOPinConfigure (GPIO_PB5_SSI2FSS);
GPIOPinConfigure (GPIO_PH6_SSI2RX);
GPIOPinConfigure (GPIO_pH2_SSI2TX);
GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5 | GPIO_PIN_4 |GPIO_PIN_3 |
GPIO_PIN_2);
GPIOPinTypeSSI (GPIO_PORTB_BASE、GPIO_PIN_4 |GPIO_PIN_5);
GPIOPinTypeSSI (GPIO_Porth_BASE、GPIO_PIN_6 |GPIO_PIN_7);
SSIConfigSetExpClk (SSI0_BASE、SysCtlClockGet ()、SSI_FRF_MOTO_MODE_0、
SSI_MODE_MASTER、1000000、8);
SSIConfigSetExpClk (SSI2_base、SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_MODE_0、
SSI_MODE_MASTER、1000000、8);
SSIEnable (SSI0_BASE);
SSIEnable (SSI2_base);
while (SSIDataGetNonBlocking (SSI0_BASE、&pui32DataRx[0]))
{
}
while (SSIDataGetNonBlocking (SSI2_base、&pui32DataRx[0]))
{
}
pui32DataTx[0]="S";
pui32DataTx[1]='p';
pui32DataTx[2]='I';
UARTprintf ("sent:\n ");
while (1)
{
SPI_protocol ();
}
}
void SPI_protocol ()
{
ASD+;
for (ui32Index = 0;ui32Index < NUM_SSI_DATA;ui32Index++)
{
UARTprintf ("'%c'"、pui32DataTx[ui32Index]);
UARTprintf ("\NTX:\n ");
SSIDataPut (SSI0_BASE、pui32DataTx[ui32Index]);
}
while (SSIBusy (SSI0_BASE))
{
}
asd1++;
for (ui32Index = 0;ui32Index < NUM_SSI_DATA;ui32Index++)
{
SSIDataGet (SSI2_base、&pui32DataRx[ui32Index]);
pui32DataRx[ui32Index]&= 0x00FF;
UARTprintf ("\nRx:\n ");
UARTprintf ("'%c'"、pui32DataRx[ui32Index]);
}
while (SSIBusy (SSI2_base))
{
}
}