48 uint32_t u32MasterSlave,
50 uint32_t u32DataWidth,
53 if(u32DataWidth == 32)
135 uint32_t u32ClkSrc, u32Div = 0;
152 if(u32BusClock > u32ClkSrc)
153 u32BusClock = u32ClkSrc;
155 if(u32BusClock != 0 )
157 u32Div = (u32ClkSrc / u32BusClock) - 1;
166 return ( u32ClkSrc / (u32Div+1) );
221 return (u32ClkSrc / (u32Div + 1));
#define SPI_FIFO_RXOVR_INTEN_MASK
#define SPI_FIFO_TIMEOUT_INTEN_MASK
#define SPI_FFCTL_RX_CLR_Msk
#define SPI_SSR_SS_LVL_Msk
uint32_t SPI_SetBusClock(SPI_T *spi, uint32_t u32BusClock)
Set the SPI bus clock. Only available in Master mode.
#define CLK
Pointer to CLK register structure.
void SPI_ClearRxFIFO(SPI_T *spi)
Clear Rx FIFO buffer.
#define CLK_CLKSEL2_SPI1_S_Msk
#define SPI0_BASE
SPI0 register base address.
uint32_t CLK_GetPLLClockFreq(void)
This function get PLL frequency. The frequency unit is Hz.
void SPI_DisableAutoSS(SPI_T *spi)
Disable the automatic slave select function.
#define CLK_CLKSEL2_SPI0_S_HCLK
#define SPI_FFCTL_RX_INTEN_Msk
#define CLK_CLKSEL2_SPI0_S_Msk
#define SPI_CTL_TX_BIT_LEN_Pos
#define SPI_FFCTL_TX_THRESHOLD_Msk
#define SYS_IPRST_CTL2_SPI1_RST_Msk
#define SPI_CLKDIV_DIVIDER1_Msk
uint32_t SPI_GetBusClock(SPI_T *spi)
Get the actual frequency of SPI bus clock. Only available in Master mode.
void SPI_Close(SPI_T *spi)
Reset SPI module and disable SPI peripheral clock.
#define SPI_SSR_SSTA_INTEN_Msk
#define SYS_IPRST_CTL2_SPI0_RST_Msk
#define SPI_SSR_AUTOSS_Msk
#define SPI_FFCTL_TIMEOUT_EN_Msk
Nano102/112 peripheral access layer header file. This file contains all the peripheral register's def...
void SPI_EnableAutoSS(SPI_T *spi, uint32_t u32SSPinMask, uint32_t u32ActiveLevel)
Enable the automatic slave select function. Only available in Master mode.
void SPI_EnableInt(SPI_T *spi, uint32_t u32Mask)
Enable FIFO related interrupts specified by u32Mask parameter.
void SPI_ClearTxFIFO(SPI_T *spi)
Clear Tx FIFO buffer.
#define SPI0
Pointer to SPI0 register structure.
void SPI_DisableFIFO(SPI_T *spi)
Disable FIFO mode.
#define SPI_FFCTL_RXOVR_INTEN_Msk
void SPI_EnableWakeup(SPI_T *spi)
Enable wake-up function.
uint32_t CLK_GetHCLKFreq(void)
This function get HCLK frequency. The frequency unit is Hz.
#define SPI_FFCTL_TX_CLR_Msk
void SPI_EnableFIFO(SPI_T *spi, uint32_t u32TxThreshold, uint32_t u32RxThreshold)
Enable FIFO mode with user-specified Tx FIFO threshold and Rx FIFO threshold configurations.
#define SPI_FFCTL_RX_THRESHOLD_Pos
#define SPI_FIFO_TX_INTEN_MASK
void SPI_DisableInt(SPI_T *spi, uint32_t u32Mask)
Disable FIFO related interrupts specified by u32Mask parameter.
#define SPI_FFCTL_TX_INTEN_Msk
#define SPI_SSTA_INTEN_MASK
uint32_t SPI_Open(SPI_T *spi, uint32_t u32MasterSlave, uint32_t u32SPIMode, uint32_t u32DataWidth, uint32_t u32BusClock)
This function make SPI module be ready to transfer. By default, the SPI transfer sequence is MSB firs...
#define SPI_CTL_WKEUP_EN_Msk
#define SPI_FFCTL_TX_THRESHOLD_Pos
#define CLK_CLKSEL2_SPI1_S_HCLK
#define SPI_CTL_INTEN_Msk
#define SPI_FFCTL_RX_THRESHOLD_Msk
#define SYS
Pointer to SYS register structure.
void SPI_DisableWakeup(SPI_T *spi)
Disable wake-up function.
#define SPI_FIFO_RX_INTEN_MASK
#define SPI_CTL_FIFOM_Msk