| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
ssp_001.h File Reference
`#include "sys_config.h"`
`#include "cmsis.h"`

Go to the source code of this file.

## 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_BITMASK ((uint32_t) (0xFFFF))
#define | SSP_CR0_SCR(n) ((uint32_t) ((n & 0xFF) << 8))
#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.