SPI Peripheral Library Interface
Detailed descriptions for this library can be found in the MPLAB® Harmony Documentation. (found in the <harmony install directory>/doc folder)
General Configurations and Status Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_BaudRateClockSelect | Selects the type of clock is used by the Baud Rate Generator. |
| PLIB_SPI_BaudRateSet | Sets the baud rate to the desired value |
| PLIB_SPI_ClockPolaritySelect | Enables clock polarity. |
| PLIB_SPI_CommunicationWidthSelect | Selects the data width for the SPI communication. |
| PLIB_SPI_Disable | Disables the SPI module. |
| PLIB_SPI_Enable | Enables the SPI module. |
| PLIB_SPI_ErrorInterruptDisable | Disables SPI error interrupts. |
| PLIB_SPI_ErrorInterruptEnable | Enables SPI error interrupts |
| PLIB_SPI_FIFOCountGet | Reads the SPI Buffer Element Count bits for either receive or transmit. |
| PLIB_SPI_FIFODisable | Disables the SPI enhanced buffer |
| PLIB_SPI_FIFOInterruptModeSelect | Selects the SPI buffer interrupt mode. |
| PLIB_SPI_FIFOShiftRegisterIsEmpty | Returns the current status of the SPI shift register. |
| PLIB_SPI_InputSamplePhaseSelect | Selects the SPI data input sample phase. |
| PLIB_SPI_IsBusy | Returns the current SPI module activity status. |
| PLIB_SPI_MasterEnable | Enables the SPI in Master mode. |
| PLIB_SPI_OutputDataPhaseSelect | Selects serial output data change. |
| PLIB_SPI_PinDisable | Enables the selected SPI pins. |
| PLIB_SPI_PinEnable | Enables the selected SPI pins. |
| PLIB_SPI_ReadDataIsSignExtended | Returns the current status of the receive (RX) FIFO sign-extended data. |
| PLIB_SPI_SlaveEnable | Enables the SPI in Slave mode. |
| PLIB_SPI_SlaveSelectDisable | Disables Master mode slave select. |
| PLIB_SPI_SlaveSelectEnable | Enables Master mode slave select. |
| PLIB_SPI_StopInIdleDisable | Continues module operation when the device enters Idle mode. |
| PLIB_SPI_StopInIdleEnable | Discontinues module operation when the device enters Idle mode. |
Data Transfer Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_BufferClear | Clears the SPI buffer. |
| PLIB_SPI_BufferRead | Returns the SPI buffer value. |
| PLIB_SPI_BufferAddressGet | Returns the address of the SPIxBUF (Transmit(SPIxTXB) and Receive (SPIxRXB)) register. |
| PLIB_SPI_BufferRead16bit | Returns 16-bit SPI buffer value. |
| PLIB_SPI_BufferRead32bit | Returns 32-bit SPI buffer value. |
| PLIB_SPI_BufferWrite | Write the data to the SPI buffer. |
| PLIB_SPI_BufferWrite16bit | Writes 16-bit data to the SPI buffer. |
| PLIB_SPI_BufferWrite32bit | Write 32-bit data to the SPI buffer. |
Frame Mode Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_FramedCommunicationDisable | Disables framed SPI support. |
| PLIB_SPI_FramedCommunicationEnable | Enables framed SPI support. |
| PLIB_SPI_FrameErrorStatusGet | Returns the current status of the SPI frame error. |
| PLIB_SPI_FrameErrorStatusClear | Clears the SPI frame error flag. |
| PLIB_SPI_FrameSyncPulseCounterSelect | Selects at which character the SPI frame sync pulse is generated. |
| PLIB_SPI_FrameSyncPulseDirectionSelect | Selects the frame sync pulse direction. |
| PLIB_SPI_FrameSyncPulseEdgeSelect | Selects the frame sync pulse edge. |
| PLIB_SPI_FrameSyncPulsePolaritySelect | Selects the frame sync pulse polarity. |
| PLIB_SPI_FrameSyncPulseWidthSelect | Sets the frame sync pulse width. |
Audio Mode Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_AudioCommunicationWidthSelect | Selects the data width for the SPI audio communication. |
| PLIB_SPI_AudioErrorDisable | Disables the SPI error. |
| PLIB_SPI_AudioErrorEnable | Enables the SPI error. |
| PLIB_SPI_AudioProtocolDisable | Audio protocol is disabled. |
| PLIB_SPI_AudioProtocolEnable | Audio protocol is enabled. |
| PLIB_SPI_AudioProtocolModeSelect | Selects the Audio Protocol mode. |
| PLIB_SPI_AudioTransmitModeSelect | Selects the transmit audio data format. |
Transmitter Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_TransmitBufferIsEmpty | Returns the current status of the transmit buffer. |
| PLIB_SPI_TransmitBufferIsFull | Returns the current transmit buffer status of the SPI module. |
| PLIB_SPI_TransmitUnderRunStatusGet | Returns the current status of the transmit underrun. |
| PLIB_SPI_TransmitUnderRunStatusClear | Clears the SPI transmit underrun flag. |
Receiver Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_ReceiverBufferIsFull | Returns the current status of the SPI receive buffer. |
| PLIB_SPI_ReceiverFIFOIsEmpty | Returns the current status of the SPI receive FIFO. |
| PLIB_SPI_ReceiverHasOverflowed | Returns the current status of the SPI receiver overflow. |
| PLIB_SPI_ReceiverOverflowClear | Clears the SPI receive overflow flag. |
Feature Existence Functions
| Function Name | Description |
|---|---|
| PLIB_SPI_ExistsAudioCommunicationWidth | Identifies whether the AudioCommunicationWidth feature exists on the SPI module |
| PLIB_SPI_ExistsAudioErrorControl | Identifies whether the AudioErrorControl feature exists on the SPI module |
| PLIB_SPI_ExistsAudioProtocolControl | Identifies whether the AudioProtocolControl feature exists on the SPI module |
| PLIB_SPI_ExistsAudioProtocolMode | Identifies whether the AudioProtocolMode feature exists on the SPI module |
| PLIB_SPI_ExistsAudioTransmitMode | Identifies whether the AudioTransmitMode feature exists on the SPI module |
| PLIB_SPI_ExistsBaudRate | Identifies whether the BaudRate feature exists on the SPI module |
| PLIB_SPI_ExistsBaudRateClock | Identifies whether the BaudRateClock feature exists on the SPI module |
| PLIB_SPI_ExistsBuffer | Identifies whether the Buffer feature exists on the SPI module |
| PLIB_SPI_ExistsBusStatus | Identifies whether the BusStatus feature exists on the SPI module |
| PLIB_SPI_ExistsClockPolarity | Identifies whether the ClockPolarity feature exists on the SPI module |
| PLIB_SPI_ExistsCommunicationWidth | Identifies whether the CommunicationWidth feature exists on the SPI module |
| PLIB_SPI_ExistsEnableControl | Identifies whether the EnableControl feature exists on the SPI module |
| PLIB_SPI_ExistsErrorInterruptControl | Identifies whether the ErrorInterruptControl feature exists on the SPI module |
| PLIB_SPI_ExistsFIFOControl | Identifies whether the FIFOControl feature exists on the SPI module |
| PLIB_SPI_ExistsFIFOCount | Identifies whether the FIFOCount feature exists on the SPI module |
| PLIB_SPI_ExistsFIFOInterruptMode | Identifies whether the FIFOInterruptMode feature exists on the SPI module |
| PLIB_SPI_ExistsFIFOShiftRegisterEmptyStatus | Identifies whether the FIFOShiftRegisterEmptyStatus feature exists on the SPI module |
| PLIB_SPI_ExistsFramedCommunication | Identifies whether the FramedCommunication feature exists on the SPI module |
| PLIB_SPI_ExistsFrameErrorStatus | Identifies whether the FrameErrorStatus feature exists on the SPI module |
| PLIB_SPI_ExistsFrameSyncPulseCounter | Identifies whether the FrameSyncPulseCounter feature exists on the SPI module |
| PLIB_SPI_ExistsFrameSyncPulseDirection | Identifies whether the FrameSyncPulseDirection feature exists on the SPI module |
| PLIB_SPI_ExistsFrameSyncPulseEdge | Identifies whether the FrameSyncPulseEdge feature exists on the SPI module |
| PLIB_SPI_ExistsFrameSyncPulsePolarity | Identifies whether the FrameSyncPulsePolarity feature exists on the SPI module |
| PLIB_SPI_ExistsFrameSyncPulseWidth | Identifies whether the FrameSyncPulseWidth feature exists on the SPI module |
| PLIB_SPI_ExistsInputSamplePhase | Identifies whether the InputSamplePhase feature exists on the SPI module |
| PLIB_SPI_ExistsMasterControl | Identifies whether the MasterControl feature exists on the SPI module |
| PLIB_SPI_ExistsOutputDataPhase | Identifies whether the OutputDataPhase feature exists on the SPI module |
| PLIB_SPI_ExistsPinControl | Identifies whether the PinControl feature exists on the SPI module |
| PLIB_SPI_ExistsReadDataSignStatus | Identifies whether the ReadDataSignStatus feature exists on the SPI module |
| PLIB_SPI_ExistsReceiveBufferStatus | Identifies whether the ReceiveBufferStatus feature exists on the SPI module |
| PLIB_SPI_ExistsReceiveFIFOStatus | Identifies whether the ReceiveFIFOStatus feature exists on the SPI module |
| PLIB_SPI_ExistsReceiverOverflow | Identifies whether the ReceiverOverflow feature exists on the SPI module |
| PLIB_SPI_ExistsSlaveSelectControl | Identifies whether the SlaveSelectControl feature exists on the SPI module |
| PLIB_SPI_ExistsStopInIdleControl | Identifies whether the StopInIdle feature exists on the SPI module |
| PLIB_SPI_ExistsTransmitBufferEmptyStatus | Identifies whether the TransmitBufferEmptyStatus feature exists |on the SPI module |
| PLIB_SPI_ExistsTransmitBufferFullStatus | Identifies whether the TransmitBufferFullStatus feature exists on the SPI module |
| PLIB_SPI_ExistsTransmitUnderRunStatus | Identifies whether the TransmitUnderRunStatus feature exists on the SPI module |
| PLIB_SPI_Exists16bitBuffer | Identifies whether the Buffer16bit feature exists on the SPI module |
| PLIB_SPI_Exists32bitBuffer | Identifies whether the Buffer32bit feature exists on the SPI module |
Data Types and Constants
| Name | Description |
|---|---|
| SPI_AUDIO_COMMUNICATION_WIDTH | Defines the list of SPI audio communication width. |
| SPI_AUDIO_ERROR | Defines the list of SPI audio error. |
| SPI_AUDIO_PROTOCOL | Data type defining the audio protocol mode. |
| SPI_AUDIO_TRANSMIT_MODE | Defines the list of SPI transmit audio mode format. |
| SPI_BAUD_RATE_CLOCK | Defines the list of SPI Baud Rate Generator (BRG). |
| SPI_CLOCK_POLARITY | Defines the list of SPI clock polarity. |
| SPI_COMMUNICATION_WIDTH | Defines the list of SPI communication width. |
| SPI_DATA_TYPE | Data type defining the SPI data size. |
| SPI_ERROR_INTERRUPT | Defines the list of SPI error interrupts. |
| SPI_FIFO_INTERRUPT | Defines the list of SPI Buffer Interrupt mode. |
| SPI_FIFO_TYPE | Defines the list of SPI buffer mode. |
| SPI_FRAME_PULSE_DIRECTION | Defines the list of SPI frame sync pulse direction. |
| SPI_FRAME_PULSE_EDGE | Defines the list of SPI frame sync pulse edge. |
| SPI_FRAME_PULSE_POLARITY | Defines the list of SPI frame sync pulse polarity. |
| SPI_FRAME_PULSE_WIDTH | Defines the list of SPI frame sync pulse width. |
| SPI_FRAME_SYNC_PULSE | Data type defining the frame sync pulse counter values. |
| SPI_INPUT_SAMPLING_PHASE | Defines the list of SPI data input sample phase. |
| SPI_MODULE_ID | Identifies the supported SPI modules. |
| SPI_OUTPUT_DATA_PHASE | Defines the list of SPI serial output data changes. |
| SPI_PIN | Data type defining the SPI pin. |

