STM32F10x Standard Peripherals Library  3.5.0
SPI_Exported_Functions

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.

Function Documentation

void I2S_Cmd ( SPI_TypeDef SPIx,
FunctionalState  NewState 
)

Enables or disables the specified SPI peripheral (in I2S mode).

Parameters:
SPIx,:where x can be 2 or 3 to select the SPI peripheral.
NewState,:new state of the SPIx peripheral. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 451 of file stm32f10x_spi.c.

void I2S_Init ( SPI_TypeDef SPIx,
I2S_InitTypeDef I2S_InitStruct 
)

Initializes the SPIx peripheral according to the specified parameters in the I2S_InitStruct.

Parameters:
SPIx,:where x can be 2 or 3 to select the SPI peripheral (configured in I2S mode).
I2S_InitStruct,:pointer to an I2S_InitTypeDef structure that contains the configuration information for the specified SPI peripheral configured in I2S mode.
Note:
The function calculates the optimal prescaler needed to obtain the most accurate audio frequency (depending on the I2S clock source, the PLL values and the product configuration). But in case the prescaler value is greater than 511, the default value (0x02) will be configured instead. *
Return values:
None

Definition at line 219 of file stm32f10x_spi.c.

void I2S_StructInit ( I2S_InitTypeDef I2S_InitStruct)

Fills each I2S_InitStruct member with its default value.

Parameters:
I2S_InitStruct: pointer to a I2S_InitTypeDef structure which will be initialized.
Return values:
None

Definition at line 398 of file stm32f10x_spi.c.

void SPI_BiDirectionalLineConfig ( SPI_TypeDef SPIx,
uint16_t  SPI_Direction 
)

Selects the data transfer direction in bi-directional mode for the specified SPI.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
SPI_Direction,:specifies the data transfer direction in bi-directional mode. This parameter can be one of the following values:
  • SPI_Direction_Tx: Selects Tx transmission direction
  • SPI_Direction_Rx: Selects Rx receive direction
Return values:
None

Definition at line 732 of file stm32f10x_spi.c.

void SPI_CalculateCRC ( SPI_TypeDef SPIx,
FunctionalState  NewState 
)

Enables or disables the CRC value calculation of the transferred bytes.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
NewState,:new state of the SPIx CRC value calculation. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 663 of file stm32f10x_spi.c.

void SPI_Cmd ( SPI_TypeDef SPIx,
FunctionalState  NewState 
)

Enables or disables the specified SPI peripheral.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
NewState,:new state of the SPIx peripheral. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 427 of file stm32f10x_spi.c.

void SPI_DataSizeConfig ( SPI_TypeDef SPIx,
uint16_t  SPI_DataSize 
)

Configures the data size for the selected SPI.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
SPI_DataSize,:specifies the SPI data size. This parameter can be one of the following values:
  • SPI_DataSize_16b: Set data frame format to 16bit
  • SPI_DataSize_8b: Set data frame format to 8bit
Return values:
None

Definition at line 631 of file stm32f10x_spi.c.

uint16_t SPI_GetCRC ( SPI_TypeDef SPIx,
uint8_t  SPI_CRC 
)

Returns the transmit or the receive CRC register value for the specified SPI.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
SPI_CRC,:specifies the CRC register to be read. This parameter can be one of the following values:
  • SPI_CRC_Tx: Selects Tx CRC register
  • SPI_CRC_Rx: Selects Rx CRC register
Return values:
Theselected CRC register value..

Definition at line 689 of file stm32f10x_spi.c.

uint16_t SPI_GetCRCPolynomial ( SPI_TypeDef SPIx)

Returns the CRC Polynomial register value for the specified SPI.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
Return values:
TheCRC Polynomial register value.

Definition at line 714 of file stm32f10x_spi.c.

void SPI_I2S_ClearFlag ( SPI_TypeDef SPIx,
uint16_t  SPI_I2S_FLAG 
)

Clears the SPIx CRC Error (CRCERR) flag.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
SPI_I2S_FLAG,:specifies the SPI flag to clear. This function clears only CRCERR flag.
Note:
  • OVR (OverRun error) flag is cleared by software sequence: a read operation to SPI_DR register (SPI_I2S_ReceiveData()) followed by a read operation to SPI_SR register (SPI_I2S_GetFlagStatus()).
  • UDR (UnderRun error) flag is cleared by a read operation to SPI_SR register (SPI_I2S_GetFlagStatus()).
  • MODF (Mode Fault) flag is cleared by software sequence: a read/write operation to SPI_SR register (SPI_I2S_GetFlagStatus()) followed by a write operation to SPI_CR1 register (SPI_Cmd() to enable the SPI).
Return values:
None

Definition at line 804 of file stm32f10x_spi.c.

void SPI_I2S_ClearITPendingBit ( SPI_TypeDef SPIx,
uint8_t  SPI_I2S_IT 
)

Clears the SPIx CRC Error (CRCERR) interrupt pending bit.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
SPI_I2S_IT,:specifies the SPI interrupt pending bit to clear. This function clears only CRCERR interrupt pending bit.
Note:
  • OVR (OverRun Error) interrupt pending bit is cleared by software sequence: a read operation to SPI_DR register (SPI_I2S_ReceiveData()) followed by a read operation to SPI_SR register (SPI_I2S_GetITStatus()).
  • UDR (UnderRun Error) interrupt pending bit is cleared by a read operation to SPI_SR register (SPI_I2S_GetITStatus()).
  • MODF (Mode Fault) interrupt pending bit is cleared by software sequence: a read/write operation to SPI_SR register (SPI_I2S_GetITStatus()) followed by a write operation to SPI_CR1 register (SPI_Cmd() to enable the SPI).
Return values:
None

Definition at line 883 of file stm32f10x_spi.c.

void SPI_I2S_DeInit ( SPI_TypeDef SPIx)

Deinitializes the SPIx peripheral registers to their default reset values (Affects also the I2Ss).

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
Return values:
None

Definition at line 119 of file stm32f10x_spi.c.

void SPI_I2S_DMACmd ( SPI_TypeDef SPIx,
uint16_t  SPI_I2S_DMAReq,
FunctionalState  NewState 
)

Enables or disables the SPIx/I2Sx DMA interface.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
  • 2 or 3 in I2S mode
SPI_I2S_DMAReq,:specifies the SPI/I2S DMA transfer request to be enabled or disabled. This parameter can be any combination of the following values:
  • SPI_I2S_DMAReq_Tx: Tx buffer DMA transfer request
  • SPI_I2S_DMAReq_Rx: Rx buffer DMA transfer request
NewState,:new state of the selected SPI/I2S DMA transfer request. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 521 of file stm32f10x_spi.c.

FlagStatus SPI_I2S_GetFlagStatus ( SPI_TypeDef SPIx,
uint16_t  SPI_I2S_FLAG 
)

Checks whether the specified SPI/I2S flag is set or not.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
  • 2 or 3 in I2S mode
SPI_I2S_FLAG,:specifies the SPI/I2S flag to check. This parameter can be one of the following values:
  • SPI_I2S_FLAG_TXE: Transmit buffer empty flag.
  • SPI_I2S_FLAG_RXNE: Receive buffer not empty flag.
  • SPI_I2S_FLAG_BSY: Busy flag.
  • SPI_I2S_FLAG_OVR: Overrun flag.
  • SPI_FLAG_MODF: Mode Fault flag.
  • SPI_FLAG_CRCERR: CRC Error flag.
  • I2S_FLAG_UDR: Underrun Error flag.
  • I2S_FLAG_CHSIDE: Channel Side flag.
Return values:
Thenew state of SPI_I2S_FLAG (SET or RESET).

Definition at line 766 of file stm32f10x_spi.c.

ITStatus SPI_I2S_GetITStatus ( SPI_TypeDef SPIx,
uint8_t  SPI_I2S_IT 
)

Checks whether the specified SPI/I2S interrupt has occurred or not.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
  • 2 or 3 in I2S mode
SPI_I2S_IT,:specifies the SPI/I2S interrupt source to check. This parameter can be one of the following values:
  • SPI_I2S_IT_TXE: Transmit buffer empty interrupt.
  • SPI_I2S_IT_RXNE: Receive buffer not empty interrupt.
  • SPI_I2S_IT_OVR: Overrun interrupt.
  • SPI_IT_MODF: Mode Fault interrupt.
  • SPI_IT_CRCERR: CRC Error interrupt.
  • I2S_IT_UDR: Underrun Error interrupt.
Return values:
Thenew state of SPI_I2S_IT (SET or RESET).

Definition at line 829 of file stm32f10x_spi.c.

void SPI_I2S_ITConfig ( SPI_TypeDef SPIx,
uint8_t  SPI_I2S_IT,
FunctionalState  NewState 
)

Enables or disables the specified SPI/I2S interrupts.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
  • 2 or 3 in I2S mode
SPI_I2S_IT,:specifies the SPI/I2S interrupt source to be enabled or disabled. This parameter can be one of the following values:
  • SPI_I2S_IT_TXE: Tx buffer empty interrupt mask
  • SPI_I2S_IT_RXNE: Rx buffer not empty interrupt mask
  • SPI_I2S_IT_ERR: Error interrupt mask
NewState,:new state of the specified SPI/I2S interrupt. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 482 of file stm32f10x_spi.c.

uint16_t SPI_I2S_ReceiveData ( SPI_TypeDef SPIx)

Returns the most recent received data by the SPIx/I2Sx peripheral.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
  • 2 or 3 in I2S mode
Return values:
Thevalue of the received data.

Definition at line 563 of file stm32f10x_spi.c.

void SPI_I2S_SendData ( SPI_TypeDef SPIx,
uint16_t  Data 
)

Transmits a Data through the SPIx/I2Sx peripheral.

Parameters:
SPIx,:where x can be
  • 1, 2 or 3 in SPI mode
  • 2 or 3 in I2S mode
Data: Data to be transmitted.
Return values:
None

Definition at line 547 of file stm32f10x_spi.c.

void SPI_Init ( SPI_TypeDef SPIx,
SPI_InitTypeDef SPI_InitStruct 
)

Initializes the SPIx peripheral according to the specified parameters in the SPI_InitStruct.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
SPI_InitStruct,:pointer to a SPI_InitTypeDef structure that contains the configuration information for the specified SPI peripheral.
Return values:
None

Definition at line 158 of file stm32f10x_spi.c.

void SPI_NSSInternalSoftwareConfig ( SPI_TypeDef SPIx,
uint16_t  SPI_NSSInternalSoft 
)

Configures internally by software the NSS pin for the selected SPI.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
SPI_NSSInternalSoft,:specifies the SPI NSS internal state. This parameter can be one of the following values:
  • SPI_NSSInternalSoft_Set: Set NSS pin internally
  • SPI_NSSInternalSoft_Reset: Reset NSS pin internally
Return values:
None

Definition at line 581 of file stm32f10x_spi.c.

void SPI_SSOutputCmd ( SPI_TypeDef SPIx,
FunctionalState  NewState 
)

Enables or disables the SS output for the selected SPI.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
NewState,:new state of the SPIx SS output. This parameter can be: ENABLE or DISABLE.
Return values:
None

Definition at line 605 of file stm32f10x_spi.c.

void SPI_StructInit ( SPI_InitTypeDef SPI_InitStruct)

Fills each SPI_InitStruct member with its default value.

Parameters:
SPI_InitStruct: pointer to a SPI_InitTypeDef structure which will be initialized.
Return values:
None

Definition at line 370 of file stm32f10x_spi.c.

void SPI_TransmitCRC ( SPI_TypeDef SPIx)

Transmit the SPIx CRC value.

Parameters:
SPIx,:where x can be 1, 2 or 3 to select the SPI peripheral.
Return values:
None

Definition at line 647 of file stm32f10x_spi.c.