STM32F10x Standard Peripherals Library  3.5.0
/opt/STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_spi.h File Reference

This file contains all the functions prototypes for the SPI firmware library. More...

#include "stm32f10x.h"

Go to the source code of this file.

Data Structures

struct  SPI_InitTypeDef
 SPI Init structure definition. More...
struct  I2S_InitTypeDef
 I2S Init structure definition. More...

Defines

#define IS_SPI_ALL_PERIPH(PERIPH)
#define IS_SPI_23_PERIPH(PERIPH)
#define SPI_Direction_2Lines_FullDuplex   ((uint16_t)0x0000)
#define SPI_Direction_2Lines_RxOnly   ((uint16_t)0x0400)
#define SPI_Direction_1Line_Rx   ((uint16_t)0x8000)
#define SPI_Direction_1Line_Tx   ((uint16_t)0xC000)
#define IS_SPI_DIRECTION_MODE(MODE)
#define SPI_Mode_Master   ((uint16_t)0x0104)
#define SPI_Mode_Slave   ((uint16_t)0x0000)
#define IS_SPI_MODE(MODE)
#define SPI_DataSize_16b   ((uint16_t)0x0800)
#define SPI_DataSize_8b   ((uint16_t)0x0000)
#define IS_SPI_DATASIZE(DATASIZE)
#define SPI_CPOL_Low   ((uint16_t)0x0000)
#define SPI_CPOL_High   ((uint16_t)0x0002)
#define IS_SPI_CPOL(CPOL)
#define SPI_CPHA_1Edge   ((uint16_t)0x0000)
#define SPI_CPHA_2Edge   ((uint16_t)0x0001)
#define IS_SPI_CPHA(CPHA)
#define SPI_NSS_Soft   ((uint16_t)0x0200)
#define SPI_NSS_Hard   ((uint16_t)0x0000)
#define IS_SPI_NSS(NSS)
#define SPI_BaudRatePrescaler_2   ((uint16_t)0x0000)
#define SPI_BaudRatePrescaler_4   ((uint16_t)0x0008)
#define SPI_BaudRatePrescaler_8   ((uint16_t)0x0010)
#define SPI_BaudRatePrescaler_16   ((uint16_t)0x0018)
#define SPI_BaudRatePrescaler_32   ((uint16_t)0x0020)
#define SPI_BaudRatePrescaler_64   ((uint16_t)0x0028)
#define SPI_BaudRatePrescaler_128   ((uint16_t)0x0030)
#define SPI_BaudRatePrescaler_256   ((uint16_t)0x0038)
#define IS_SPI_BAUDRATE_PRESCALER(PRESCALER)
#define SPI_FirstBit_MSB   ((uint16_t)0x0000)
#define SPI_FirstBit_LSB   ((uint16_t)0x0080)
#define IS_SPI_FIRST_BIT(BIT)
#define I2S_Mode_SlaveTx   ((uint16_t)0x0000)
#define I2S_Mode_SlaveRx   ((uint16_t)0x0100)
#define I2S_Mode_MasterTx   ((uint16_t)0x0200)
#define I2S_Mode_MasterRx   ((uint16_t)0x0300)
#define IS_I2S_MODE(MODE)
#define I2S_Standard_Phillips   ((uint16_t)0x0000)
#define I2S_Standard_MSB   ((uint16_t)0x0010)
#define I2S_Standard_LSB   ((uint16_t)0x0020)
#define I2S_Standard_PCMShort   ((uint16_t)0x0030)
#define I2S_Standard_PCMLong   ((uint16_t)0x00B0)
#define IS_I2S_STANDARD(STANDARD)
#define I2S_DataFormat_16b   ((uint16_t)0x0000)
#define I2S_DataFormat_16bextended   ((uint16_t)0x0001)
#define I2S_DataFormat_24b   ((uint16_t)0x0003)
#define I2S_DataFormat_32b   ((uint16_t)0x0005)
#define IS_I2S_DATA_FORMAT(FORMAT)
#define I2S_MCLKOutput_Enable   ((uint16_t)0x0200)
#define I2S_MCLKOutput_Disable   ((uint16_t)0x0000)
#define IS_I2S_MCLK_OUTPUT(OUTPUT)
#define I2S_AudioFreq_192k   ((uint32_t)192000)
#define I2S_AudioFreq_96k   ((uint32_t)96000)
#define I2S_AudioFreq_48k   ((uint32_t)48000)
#define I2S_AudioFreq_44k   ((uint32_t)44100)
#define I2S_AudioFreq_32k   ((uint32_t)32000)
#define I2S_AudioFreq_22k   ((uint32_t)22050)
#define I2S_AudioFreq_16k   ((uint32_t)16000)
#define I2S_AudioFreq_11k   ((uint32_t)11025)
#define I2S_AudioFreq_8k   ((uint32_t)8000)
#define I2S_AudioFreq_Default   ((uint32_t)2)
#define IS_I2S_AUDIO_FREQ(FREQ)
#define I2S_CPOL_Low   ((uint16_t)0x0000)
#define I2S_CPOL_High   ((uint16_t)0x0008)
#define IS_I2S_CPOL(CPOL)
#define SPI_I2S_DMAReq_Tx   ((uint16_t)0x0002)
#define SPI_I2S_DMAReq_Rx   ((uint16_t)0x0001)
#define IS_SPI_I2S_DMAREQ(DMAREQ)   ((((DMAREQ) & (uint16_t)0xFFFC) == 0x00) && ((DMAREQ) != 0x00))
#define SPI_NSSInternalSoft_Set   ((uint16_t)0x0100)
#define SPI_NSSInternalSoft_Reset   ((uint16_t)0xFEFF)
#define IS_SPI_NSS_INTERNAL(INTERNAL)
#define SPI_CRC_Tx   ((uint8_t)0x00)
#define SPI_CRC_Rx   ((uint8_t)0x01)
#define IS_SPI_CRC(CRC)   (((CRC) == SPI_CRC_Tx) || ((CRC) == SPI_CRC_Rx))
#define SPI_Direction_Rx   ((uint16_t)0xBFFF)
#define SPI_Direction_Tx   ((uint16_t)0x4000)
#define IS_SPI_DIRECTION(DIRECTION)
#define SPI_I2S_IT_TXE   ((uint8_t)0x71)
#define SPI_I2S_IT_RXNE   ((uint8_t)0x60)
#define SPI_I2S_IT_ERR   ((uint8_t)0x50)
#define IS_SPI_I2S_CONFIG_IT(IT)
#define SPI_I2S_IT_OVR   ((uint8_t)0x56)
#define SPI_IT_MODF   ((uint8_t)0x55)
#define SPI_IT_CRCERR   ((uint8_t)0x54)
#define I2S_IT_UDR   ((uint8_t)0x53)
#define IS_SPI_I2S_CLEAR_IT(IT)   (((IT) == SPI_IT_CRCERR))
#define IS_SPI_I2S_GET_IT(IT)
#define SPI_I2S_FLAG_RXNE   ((uint16_t)0x0001)
#define SPI_I2S_FLAG_TXE   ((uint16_t)0x0002)
#define I2S_FLAG_CHSIDE   ((uint16_t)0x0004)
#define I2S_FLAG_UDR   ((uint16_t)0x0008)
#define SPI_FLAG_CRCERR   ((uint16_t)0x0010)
#define SPI_FLAG_MODF   ((uint16_t)0x0020)
#define SPI_I2S_FLAG_OVR   ((uint16_t)0x0040)
#define SPI_I2S_FLAG_BSY   ((uint16_t)0x0080)
#define IS_SPI_I2S_CLEAR_FLAG(FLAG)   (((FLAG) == SPI_FLAG_CRCERR))
#define IS_SPI_I2S_GET_FLAG(FLAG)
#define IS_SPI_CRC_POLYNOMIAL(POLYNOMIAL)   ((POLYNOMIAL) >= 0x1)

Functions

void SPI_I2S_DeInit (SPI_TypeDef *SPIx)
 Deinitializes the SPIx peripheral registers to their default reset values (Affects also the I2Ss).
void SPI_Init (SPI_TypeDef *SPIx, SPI_InitTypeDef *SPI_InitStruct)
 Initializes the SPIx peripheral according to the specified parameters in the SPI_InitStruct.
void I2S_Init (SPI_TypeDef *SPIx, I2S_InitTypeDef *I2S_InitStruct)
 Initializes the SPIx peripheral according to the specified parameters in the I2S_InitStruct.
void SPI_StructInit (SPI_InitTypeDef *SPI_InitStruct)
 Fills each SPI_InitStruct member with its default value.
void I2S_StructInit (I2S_InitTypeDef *I2S_InitStruct)
 Fills each I2S_InitStruct member with its default value.
void SPI_Cmd (SPI_TypeDef *SPIx, FunctionalState NewState)
 Enables or disables the specified SPI peripheral.
void I2S_Cmd (SPI_TypeDef *SPIx, FunctionalState NewState)
 Enables or disables the specified SPI peripheral (in I2S mode).
void SPI_I2S_ITConfig (SPI_TypeDef *SPIx, uint8_t SPI_I2S_IT, FunctionalState NewState)
 Enables or disables the specified SPI/I2S interrupts.
void SPI_I2S_DMACmd (SPI_TypeDef *SPIx, uint16_t SPI_I2S_DMAReq, FunctionalState NewState)
 Enables or disables the SPIx/I2Sx DMA interface.
void SPI_I2S_SendData (SPI_TypeDef *SPIx, uint16_t Data)
 Transmits a Data through the SPIx/I2Sx peripheral.
uint16_t SPI_I2S_ReceiveData (SPI_TypeDef *SPIx)
 Returns the most recent received data by the SPIx/I2Sx peripheral.
void SPI_NSSInternalSoftwareConfig (SPI_TypeDef *SPIx, uint16_t SPI_NSSInternalSoft)
 Configures internally by software the NSS pin for the selected SPI.
void SPI_SSOutputCmd (SPI_TypeDef *SPIx, FunctionalState NewState)
 Enables or disables the SS output for the selected SPI.
void SPI_DataSizeConfig (SPI_TypeDef *SPIx, uint16_t SPI_DataSize)
 Configures the data size for the selected SPI.
void SPI_TransmitCRC (SPI_TypeDef *SPIx)
 Transmit the SPIx CRC value.
void SPI_CalculateCRC (SPI_TypeDef *SPIx, FunctionalState NewState)
 Enables or disables the CRC value calculation of the transferred bytes.
uint16_t SPI_GetCRC (SPI_TypeDef *SPIx, uint8_t SPI_CRC)
 Returns the transmit or the receive CRC register value for the specified SPI.
uint16_t SPI_GetCRCPolynomial (SPI_TypeDef *SPIx)
 Returns the CRC Polynomial register value for the specified SPI.
void SPI_BiDirectionalLineConfig (SPI_TypeDef *SPIx, uint16_t SPI_Direction)
 Selects the data transfer direction in bi-directional mode for the specified SPI.
FlagStatus SPI_I2S_GetFlagStatus (SPI_TypeDef *SPIx, uint16_t SPI_I2S_FLAG)
 Checks whether the specified SPI/I2S flag is set or not.
void SPI_I2S_ClearFlag (SPI_TypeDef *SPIx, uint16_t SPI_I2S_FLAG)
 Clears the SPIx CRC Error (CRCERR) flag.
ITStatus SPI_I2S_GetITStatus (SPI_TypeDef *SPIx, uint8_t SPI_I2S_IT)
 Checks whether the specified SPI/I2S interrupt has occurred or not.
void SPI_I2S_ClearITPendingBit (SPI_TypeDef *SPIx, uint8_t SPI_I2S_IT)
 Clears the SPIx CRC Error (CRCERR) interrupt pending bit.

Detailed Description

This file contains all the functions prototypes for the SPI firmware library.

Author:
MCD Application Team
Version:
V3.5.0
Date:
11-March-2011
Attention:

THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

© COPYRIGHT 2011 STMicroelectronics

Definition in file stm32f10x_spi.h.