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.
你(们)好
我目前正在 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))
{
}
}
[引用用户="Ravi Kumar"]
2,MISO ---- > MISO
3.MOSI ---- > MOSI
[/报价]
您是否确实将一侧连接到另一侧? 从一侧向外到另一侧的输出?
布鲁诺
好的,Amit 先生 ,我可以检查你以前给我的代码。