- /*---------------------------------------------------------------------------------------------------------*/
- /* Init SPI */
- /*---------------------------------------------------------------------------------------------------------*/
- /* Configure as a master, clock idle low, 32-bit transaction, drive output on falling clock edge and latch input on rising edge. */
- /* Set IP clock divider. SPI clock rate = 2 MHz */
- SPI_Open(SPI0, SPI_MASTER, SPI_MODE_0, 32, 2000000);
- /* Select HCLK as the clock source of SPI0 */
- CLK_SetModuleClock(SPI0_MODULE, CLK_CLKSEL1_SPI0_S_HCLK, MODULE_NoMsk);
- /* Enable SPI0 peripheral clock */
- CLK_EnableModuleClock(SPI0_MODULE);
- /* Setup SPI0 multi-function pins */
- SYS->P0_MFP &= ~(SYS_MFP_P04_Msk | SYS_MFP_P05_Msk | SYS_MFP_P06_Msk | SYS_MFP_P07_Msk);
- SYS->P0_MFP |= (SYS_MFP_P04_SPISS | SYS_MFP_P05_MOSI | SYS_MFP_P06_MISO | SYS_MFP_P07_SPICLK);
最后就可以用发送函数了
- /* Write to TX register */
- SPI_WRITE_TX0(SPI0, g_au32SourceData[u32DataCount]);
- /* Trigger SPI data transfer */
- SPI_TRIGGER(SPI0);
- /* Check SPI0 busy status */
- while(SPI_IS_BUSY(SPI0));
发送,触发,判断是否发送完成。
|