![]() |
LPCOpen Platform
v1.03
LPCOpen Platform for NXP LPC Microcontrollers
|
Data Structures | |
| struct | IP_SSP_001_T |
| SSP register block structure. More... | |
Macros | |
| #define | SSP_CR0_DSS(n) ((uint32_t) ((n) & 0xF)) |
| #define | SSP_CR0_FRF_SPI ((uint32_t) (0 << 4)) |
| #define | SSP_CR0_FRF_TI ((uint32_t) (1 << 4)) |
| #define | SSP_CR0_FRF_MICROWIRE ((uint32_t) (2 << 4)) |
| #define | SSP_CR0_CPOL_LO ((uint32_t) (0)) |
| #define | SSP_CR0_CPOL_HI ((uint32_t) (1 << 6)) |
| #define | SSP_CR0_CPHA_FIRST ((uint32_t) (0)) |
| #define | SSP_CR0_CPHA_SECOND ((uint32_t) (1 << 7)) |
| #define | SSP_CR0_SCR(n) ((uint32_t) ((n & 0xFF) << 8)) |
| #define | SSP_CR0_SCR(n) ((uint32_t) ((n & 0xFF) << 8)) |
| #define | SSP_CR0_BITMASK ((uint32_t) (0xFFFF)) |
| #define | SSP_CR0_BITMASK ((uint32_t) (0xFFFF)) |
| #define | SSP_CR1_LBM_EN ((uint32_t) (1 << 0)) |
| #define | SSP_CR1_SSP_EN ((uint32_t) (1 << 1)) |
| #define | SSP_CR1_SLAVE_EN ((uint32_t) (1 << 2)) |
| #define | SSP_CR1_MASTER_EN ((uint32_t) (0)) |
| #define | SSP_CR1_SO_DISABLE ((uint32_t) (1 << 3)) |
| #define | SSP_CR1_BITMASK ((uint32_t) (0x0F)) |
| #define | SSP_CPSR_BITMASK ((uint32_t) (0xFF)) |
| #define | SSP_DR_BITMASK(n) ((n) & 0xFFFF) |
| #define | SSP_SR_BITMASK ((uint32_t) (0x1F)) |
| #define | SSP_ICR_BITMASK ((uint32_t) (0x03)) |
Enumerations | |
| enum | IP_SSP_STATUS_T { SSP_STAT_TFE = ((uint32_t)(1 << 0)), SSP_STAT_TNF = ((uint32_t)(1 << 1)), SSP_STAT_RNE = ((uint32_t)(1 << 2)), SSP_STAT_RFF = ((uint32_t)(1 << 3)), SSP_STAT_BSY = ((uint32_t)(1 << 4)) } |
| SSP Type of Status. More... | |
| enum | IP_SSP_INTMASK_T { SSP_RORIM = ((uint32_t)(1 << 0)), SSP_RTIM = ((uint32_t)(1 << 1)), SSP_RXIM = ((uint32_t)(1 << 2)), SSP_TXIM = ((uint32_t)(1 << 3)), SSP_INT_MASK_BITMASK = ((uint32_t)(0xF)) } |
| SSP Type of Interrupt Mask. More... | |
| enum | IP_SSP_MASKINTSTATUS_T { SSP_RORMIS = ((uint32_t)(1 << 0)), SSP_RTMIS = ((uint32_t)(1 << 1)), SSP_RXMIS = ((uint32_t)(1 << 2)), SSP_TXMIS = ((uint32_t)(1 << 3)), SSP_MASK_INT_STAT_BITMASK = ((uint32_t)(0xF)) } |
| SSP Type of Mask Interrupt Status. More... | |
| enum | IP_SSP_RAWINTSTATUS_T { SSP_RORRIS = ((uint32_t)(1 << 0)), SSP_RTRIS = ((uint32_t)(1 << 1)), SSP_RXRIS = ((uint32_t)(1 << 2)), SSP_TXRIS = ((uint32_t)(1 << 3)), SSP_RAW_INT_STAT_BITMASK = ((uint32_t)(0xF)) } |
| SSP Type of Raw Interrupt Status. More... | |
| enum | IP_SSP_INTCLEAR_T { SSP_RORIC = 0x0, SSP_RTIC = 0x1, SSP_INT_CLEAR_BITMASK = 0x3 } |
| enum | IP_SSP_DMA_T { SSP_DMA_RX = (1u), SSP_DMA_TX = (1u << 1), SSP_DMA_BITMASK = ((uint32_t)(0x3)) } |
Functions | |
| STATIC INLINE void | IP_SSP_DeInit (IP_SSP_001_T *pSSP) |
| Disable SSP operation. | |
| STATIC INLINE void | IP_SSP_Enable (IP_SSP_001_T *pSSP) |
| Enable SSP operation. | |
| STATIC INLINE void | IP_SSP_Disable (IP_SSP_001_T *pSSP) |
| Disable SSP operation. | |
| STATIC INLINE void | IP_SSP_EnableLoopBack (IP_SSP_001_T *pSSP) |
| Enable loopback mode. | |
| STATIC INLINE void | IP_SSP_DisableLoopBack (IP_SSP_001_T *pSSP) |
| Disable loopback mode. | |
| STATIC INLINE FlagStatus | IP_SSP_GetStatus (IP_SSP_001_T *pSSP, IP_SSP_STATUS_T Stat) |
| Get the current status of SSP controller. | |
| STATIC INLINE uint32_t | IP_SSP_GetIntStatus (IP_SSP_001_T *pSSP) |
| Get the masked interrupt status. | |
| STATIC INLINE IntStatus | IP_SSP_GetRawIntStatus (IP_SSP_001_T *pSSP, IP_SSP_RAWINTSTATUS_T RawInt) |
| Get the raw interrupt status. | |
| STATIC INLINE uint8_t | IP_SSP_GetDataSize (IP_SSP_001_T *pSSP) |
| Get the number of bits transferred in each frame. | |
| STATIC INLINE void | IP_SSP_ClearIntPending (IP_SSP_001_T *pSSP, IP_SSP_INTCLEAR_T IntClear) |
| Clear the corresponding interrupt condition(s) in the SSP controller. | |
| STATIC INLINE void | IP_SSP_Int_Enable (IP_SSP_001_T *pSSP, IP_SSP_INTMASK_T IntType) |
| Enable interrupt for the SSP. | |
| STATIC INLINE void | IP_SSP_Int_Disable (IP_SSP_001_T *pSSP, IP_SSP_INTMASK_T IntType) |
| Disable interrupt for the SSP. | |
| STATIC INLINE uint16_t | IP_SSP_ReceiveFrame (IP_SSP_001_T *pSSP) |
| Get received SSP data. | |
| STATIC INLINE void | IP_SSP_SendFrame (IP_SSP_001_T *pSSP, uint16_t tx_data) |
| Send SSP 16-bit data. | |
| void | IP_SSP_Set_ClockRate (IP_SSP_001_T *pSSP, uint32_t clk_rate, uint32_t prescale) |
| Set up output clocks per bit for SSP bus. | |
| STATIC INLINE void | IP_SSP_SetFormat (IP_SSP_001_T *pSSP, uint32_t bits, uint32_t frameFormat, uint32_t clockMode) |
| Set up the SSP frame format. | |
| STATIC INLINE void | IP_SSP_Set_Mode (IP_SSP_001_T *pSSP, uint32_t mode) |
| Set the SSP working as master or slave mode. | |
| STATIC INLINE void | IP_SSP_DMA_Enable (IP_SSP_001_T *pSSP, IP_SSP_DMA_T flag) |
| Enable DMA for SSP. | |
| STATIC INLINE void | IP_SSP_DMA_Disable (IP_SSP_001_T *pSSP, IP_SSP_DMA_T flag) |
| Disable DMA for SSP. | |
| #define SSP_CPSR_BITMASK ((uint32_t) (0xFF)) |
| #define SSP_CR0_BITMASK ((uint32_t) (0xFFFF)) |
| #define SSP_CR0_BITMASK ((uint32_t) (0xFFFF)) |
| #define SSP_CR0_CPHA_FIRST ((uint32_t) (0)) |
| #define SSP_CR0_CPOL_LO ((uint32_t) (0)) |
| #define SSP_CR0_DSS | ( | n | ) | ((uint32_t) ((n) & 0xF)) |
| #define SSP_CR0_FRF_MICROWIRE ((uint32_t) (2 << 4)) |
| #define SSP_CR0_FRF_SPI ((uint32_t) (0 << 4)) |
| #define SSP_CR0_FRF_TI ((uint32_t) (1 << 4)) |
| #define SSP_CR0_SCR | ( | n | ) | ((uint32_t) ((n & 0xFF) << 8)) |
| #define SSP_CR0_SCR | ( | n | ) | ((uint32_t) ((n & 0xFF) << 8)) |
| #define SSP_CR1_BITMASK ((uint32_t) (0x0F)) |
| #define SSP_CR1_LBM_EN ((uint32_t) (1 << 0)) |
| #define SSP_CR1_SLAVE_EN ((uint32_t) (1 << 2)) |
| #define SSP_CR1_SO_DISABLE ((uint32_t) (1 << 3)) |
| #define SSP_CR1_SSP_EN ((uint32_t) (1 << 1)) |
| #define SSP_DR_BITMASK | ( | n | ) | ((n) & 0xFFFF) |
| #define SSP_SR_BITMASK ((uint32_t) (0x1F)) |
| enum IP_SSP_DMA_T |
| enum IP_SSP_INTCLEAR_T |
| enum IP_SSP_INTMASK_T |
| enum IP_SSP_STATUS_T |
| STATIC INLINE void IP_SSP_ClearIntPending | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_INTCLEAR_T | IntClear | ||
| ) |
Clear the corresponding interrupt condition(s) in the SSP controller.
| pSSP | : The base of SSP peripheral on the chip |
| IntClear,: | Type of cleared interrupt, should be :
|
| STATIC INLINE void IP_SSP_DeInit | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE void IP_SSP_Disable | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE void IP_SSP_DisableLoopBack | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE void IP_SSP_DMA_Disable | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_DMA_T | flag | ||
| ) |
| STATIC INLINE void IP_SSP_DMA_Enable | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_DMA_T | flag | ||
| ) |
| STATIC INLINE void IP_SSP_Enable | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE void IP_SSP_EnableLoopBack | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE uint8_t IP_SSP_GetDataSize | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE uint32_t IP_SSP_GetIntStatus | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE IntStatus IP_SSP_GetRawIntStatus | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_RAWINTSTATUS_T | RawInt | ||
| ) |
Get the raw interrupt status.
| pSSP | : The base of SSP peripheral on the chip |
| RawInt | : Interrupt condition to be get status, shoud be :
|
| STATIC INLINE FlagStatus IP_SSP_GetStatus | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_STATUS_T | Stat | ||
| ) |
| STATIC INLINE void IP_SSP_Int_Disable | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_INTMASK_T | IntType | ||
| ) |
| STATIC INLINE void IP_SSP_Int_Enable | ( | IP_SSP_001_T * | pSSP, |
| IP_SSP_INTMASK_T | IntType | ||
| ) |
| STATIC INLINE uint16_t IP_SSP_ReceiveFrame | ( | IP_SSP_001_T * | pSSP | ) |
| STATIC INLINE void IP_SSP_SendFrame | ( | IP_SSP_001_T * | pSSP, |
| uint16_t | tx_data | ||
| ) |
| void IP_SSP_Set_ClockRate | ( | IP_SSP_001_T * | pSSP, |
| uint32_t | clk_rate, | ||
| uint32_t | prescale | ||
| ) |
Set up output clocks per bit for SSP bus.
| pSSP | : The base of SSP peripheral on the chip |
| clk_rate | fs: The number of prescaler-output clocks per bit on the bus, minus one |
| prescale | : The factor by which the Prescaler divides the SSP peripheral clock PCLK |
| STATIC INLINE void IP_SSP_Set_Mode | ( | IP_SSP_001_T * | pSSP, |
| uint32_t | mode | ||
| ) |
| STATIC INLINE void IP_SSP_SetFormat | ( | IP_SSP_001_T * | pSSP, |
| uint32_t | bits, | ||
| uint32_t | frameFormat, | ||
| uint32_t | clockMode | ||
| ) |
Set up the SSP frame format.
| pSSP | : The base of SSP peripheral on the chip |
| bits | : The number of bits transferred in each frame, should be SSP_BITS_4 to SSP_BITS_16 |
| frameFormat | : Frame format, should be :
|
| clockMode | : Select Clock polarity and Clock phase, should be :
|