CC26xx Driver Library
ssi.h File Reference
#include <stdbool.h>
#include <stdint.h>
#include "../inc/hw_ints.h"
#include "../inc/hw_memmap.h"
#include "../inc/hw_types.h"
#include "../inc/hw_ssi.h"
#include "debug.h"
#include "interrupt.h"

Macros

#define SSI_TXFF   0x00000008
 
#define SSI_RXFF   0x00000004
 
#define SSI_RXTO   0x00000002
 
#define SSI_RXOR   0x00000001
 
#define SSI_RX_FULL   0x00000008
 
#define SSI_RX_NOT_EMPTY   0x00000004
 
#define SSI_TX_NOT_FULL   0x00000002
 
#define SSI_TX_EMPTY   0x00000001
 
#define SSI_STATUS_MASK   0x0000000F
 
#define SSI_FRF_MOTO_MODE_0   0x00000000
 
#define SSI_FRF_MOTO_MODE_1   0x00000002
 
#define SSI_FRF_MOTO_MODE_2   0x00000001
 
#define SSI_FRF_MOTO_MODE_3   0x00000003
 
#define SSI_FRF_TI   0x00000010
 
#define SSI_FRF_NMW   0x00000020
 
#define SSI_MODE_MASTER   0x00000000
 
#define SSI_MODE_SLAVE   0x00000001
 
#define SSI_MODE_SLAVE_OD   0x00000002
 
#define SSI_DMA_TX   0x00000002
 
#define SSI_DMA_RX   0x00000001
 

Functions

void SSIConfigSetExpClk (uint32_t ui32Base, uint32_t ui32SSIClk, uint32_t ui32Protocol, uint32_t ui32Mode, uint32_t ui32BitRate, uint32_t ui32DataWidth)
 Configures the synchronous serial port. More...
 
static void SSIEnable (uint32_t ui32Base)
 Enables the synchronous serial port. More...
 
static void SSIDisable (uint32_t ui32Base)
 Disables the synchronous serial port. More...
 
void SSIDataPut (uint32_t ui32Base, uint32_t ui32Data)
 Puts a data element into the SSI transmit FIFO. More...
 
int32_t SSIDataPutNonBlocking (uint32_t ui32Base, uint32_t ui32Data)
 Puts a data element into the SSI transmit FIFO. More...
 
void SSIDataGet (uint32_t ui32Base, uint32_t *pui32Data)
 Gets a data element from the SSI receive FIFO. More...
 
int32_t SSIDataGetNonBlocking (uint32_t ui32Base, uint32_t *pui32Data)
 Gets a data element from the SSI receive FIFO. More...
 
static bool SSIBusy (uint32_t ui32Base)
 Determines whether the SSI transmitter is busy or not. More...
 
static uint32_t SSIStatus (uint32_t ui32Base)
 Get the status of the SSI data buffers. More...
 
void SSIIntRegister (uint32_t ui32Base, void(*pfnHandler)(void))
 Registers an interrupt handler for the Synchronous Serial Interface in the dynamic interrupt table. More...
 
void SSIIntUnregister (uint32_t ui32Base)
 Unregisters an interrupt handler for the Synchronous Serial Interface in the dynamic interrupt table. More...
 
static void SSIIntEnable (uint32_t ui32Base, uint32_t ui32IntFlags)
 Enables individual SSI interrupt sources. More...
 
static void SSIIntDisable (uint32_t ui32Base, uint32_t ui32IntFlags)
 Disables individual SSI interrupt sources. More...
 
static void SSIIntClear (uint32_t ui32Base, uint32_t ui32IntFlags)
 Clears SSI interrupt sources. More...
 
static uint32_t SSIIntStatus (uint32_t ui32Base, bool bMasked)
 Gets the current interrupt status. More...
 
static void SSIDMAEnable (uint32_t ui32Base, uint32_t ui32DMAFlags)
 Enable SSI DMA operation. More...
 
static void SSIDMADisable (uint32_t ui32Base, uint32_t ui32DMAFlags)
 Disable SSI DMA operation. More...