STM32F479xx HAL User Manual
|
Header file of SPI HAL module. More...
#include "stm32f4xx_hal_def.h"
Go to the source code of this file.
Data Structures | |
struct | SPI_InitTypeDef |
SPI Configuration Structure definition. More... | |
struct | __SPI_HandleTypeDef |
SPI handle Structure definition. More... | |
Defines | |
#define | HAL_SPI_ERROR_NONE (0x00000000U) |
#define | HAL_SPI_ERROR_MODF (0x00000001U) |
#define | HAL_SPI_ERROR_CRC (0x00000002U) |
#define | HAL_SPI_ERROR_OVR (0x00000004U) |
#define | HAL_SPI_ERROR_FRE (0x00000008U) |
#define | HAL_SPI_ERROR_DMA (0x00000010U) |
#define | HAL_SPI_ERROR_FLAG (0x00000020U) |
#define | HAL_SPI_ERROR_ABORT (0x00000040U) |
#define | HAL_SPI_ERROR_INVALID_CALLBACK (0x00000080U) |
#define | SPI_MODE_SLAVE (0x00000000U) |
#define | SPI_MODE_MASTER (SPI_CR1_MSTR | SPI_CR1_SSI) |
#define | SPI_DIRECTION_2LINES (0x00000000U) |
#define | SPI_DIRECTION_2LINES_RXONLY SPI_CR1_RXONLY |
#define | SPI_DIRECTION_1LINE SPI_CR1_BIDIMODE |
#define | SPI_DATASIZE_8BIT (0x00000000U) |
#define | SPI_DATASIZE_16BIT SPI_CR1_DFF |
#define | SPI_POLARITY_LOW (0x00000000U) |
#define | SPI_POLARITY_HIGH SPI_CR1_CPOL |
#define | SPI_PHASE_1EDGE (0x00000000U) |
#define | SPI_PHASE_2EDGE SPI_CR1_CPHA |
#define | SPI_NSS_SOFT SPI_CR1_SSM |
#define | SPI_NSS_HARD_INPUT (0x00000000U) |
#define | SPI_NSS_HARD_OUTPUT (SPI_CR2_SSOE << 16U) |
#define | SPI_BAUDRATEPRESCALER_2 (0x00000000U) |
#define | SPI_BAUDRATEPRESCALER_4 (SPI_CR1_BR_0) |
#define | SPI_BAUDRATEPRESCALER_8 (SPI_CR1_BR_1) |
#define | SPI_BAUDRATEPRESCALER_16 (SPI_CR1_BR_1 | SPI_CR1_BR_0) |
#define | SPI_BAUDRATEPRESCALER_32 (SPI_CR1_BR_2) |
#define | SPI_BAUDRATEPRESCALER_64 (SPI_CR1_BR_2 | SPI_CR1_BR_0) |
#define | SPI_BAUDRATEPRESCALER_128 (SPI_CR1_BR_2 | SPI_CR1_BR_1) |
#define | SPI_BAUDRATEPRESCALER_256 (SPI_CR1_BR_2 | SPI_CR1_BR_1 | SPI_CR1_BR_0) |
#define | SPI_FIRSTBIT_MSB (0x00000000U) |
#define | SPI_FIRSTBIT_LSB SPI_CR1_LSBFIRST |
#define | SPI_TIMODE_DISABLE (0x00000000U) |
#define | SPI_TIMODE_ENABLE SPI_CR2_FRF |
#define | SPI_CRCCALCULATION_DISABLE (0x00000000U) |
#define | SPI_CRCCALCULATION_ENABLE SPI_CR1_CRCEN |
#define | SPI_IT_TXE SPI_CR2_TXEIE |
#define | SPI_IT_RXNE SPI_CR2_RXNEIE |
#define | SPI_IT_ERR SPI_CR2_ERRIE |
#define | SPI_FLAG_RXNE SPI_SR_RXNE /* SPI status flag: Rx buffer not empty flag */ |
#define | SPI_FLAG_TXE SPI_SR_TXE /* SPI status flag: Tx buffer empty flag */ |
#define | SPI_FLAG_BSY SPI_SR_BSY /* SPI status flag: Busy flag */ |
#define | SPI_FLAG_CRCERR SPI_SR_CRCERR /* SPI Error flag: CRC error flag */ |
#define | SPI_FLAG_MODF SPI_SR_MODF /* SPI Error flag: Mode fault flag */ |
#define | SPI_FLAG_OVR SPI_SR_OVR /* SPI Error flag: Overrun flag */ |
#define | SPI_FLAG_FRE SPI_SR_FRE /* SPI Error flag: TI mode frame format error flag */ |
#define | SPI_FLAG_MASK |
#define | __HAL_SPI_RESET_HANDLE_STATE(__HANDLE__) |
Reset SPI handle state. | |
#define | __HAL_SPI_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CR2, (__INTERRUPT__)) |
Enable the specified SPI interrupts. | |
#define | __HAL_SPI_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CR2, (__INTERRUPT__)) |
Disable the specified SPI interrupts. | |
#define | __HAL_SPI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) |
Check whether the specified SPI interrupt source is enabled or not. | |
#define | __HAL_SPI_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) |
Check whether the specified SPI flag is set or not. | |
#define | __HAL_SPI_CLEAR_CRCERRFLAG(__HANDLE__) ((__HANDLE__)->Instance->SR = (uint16_t)(~SPI_FLAG_CRCERR)) |
Clear the SPI CRCERR pending flag. | |
#define | __HAL_SPI_CLEAR_MODFFLAG(__HANDLE__) |
Clear the SPI MODF pending flag. | |
#define | __HAL_SPI_CLEAR_OVRFLAG(__HANDLE__) |
Clear the SPI OVR pending flag. | |
#define | __HAL_SPI_CLEAR_FREFLAG(__HANDLE__) |
Clear the SPI FRE pending flag. | |
#define | __HAL_SPI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_SPE) |
Enable the SPI peripheral. | |
#define | __HAL_SPI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_SPE) |
Disable the SPI peripheral. | |
#define | SPI_1LINE_TX(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_BIDIOE) |
Set the SPI transmit-only mode. | |
#define | SPI_1LINE_RX(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1, SPI_CR1_BIDIOE) |
Set the SPI receive-only mode. | |
#define | SPI_RESET_CRC(__HANDLE__) |
Reset the CRC calculation of the SPI. | |
#define | SPI_CHECK_FLAG(__SR__, __FLAG__) |
Check whether the specified SPI flag is set or not. | |
#define | SPI_CHECK_IT_SOURCE(__CR2__, __INTERRUPT__) |
Check whether the specified SPI Interrupt is set or not. | |
#define | IS_SPI_MODE(__MODE__) |
Checks if SPI Mode parameter is in allowed range. | |
#define | IS_SPI_DIRECTION(__MODE__) |
Checks if SPI Direction Mode parameter is in allowed range. | |
#define | IS_SPI_DIRECTION_2LINES(__MODE__) ((__MODE__) == SPI_DIRECTION_2LINES) |
Checks if SPI Direction Mode parameter is 2 lines. | |
#define | IS_SPI_DIRECTION_2LINES_OR_1LINE(__MODE__) |
Checks if SPI Direction Mode parameter is 1 or 2 lines. | |
#define | IS_SPI_DATASIZE(__DATASIZE__) |
Checks if SPI Data Size parameter is in allowed range. | |
#define | IS_SPI_CPOL(__CPOL__) |
Checks if SPI Serial clock steady state parameter is in allowed range. | |
#define | IS_SPI_CPHA(__CPHA__) |
Checks if SPI Clock Phase parameter is in allowed range. | |
#define | IS_SPI_NSS(__NSS__) |
Checks if SPI Slave Select parameter is in allowed range. | |
#define | IS_SPI_BAUDRATE_PRESCALER(__PRESCALER__) |
Checks if SPI Baudrate prescaler parameter is in allowed range. | |
#define | IS_SPI_FIRST_BIT(__BIT__) |
Checks if SPI MSB LSB transmission parameter is in allowed range. | |
#define | IS_SPI_TIMODE(__MODE__) |
Checks if SPI TI mode parameter is in allowed range. | |
#define | IS_SPI_CRC_CALCULATION(__CALCULATION__) |
Checks if SPI CRC calculation enabled state is in allowed range. | |
#define | IS_SPI_CRC_POLYNOMIAL(__POLYNOMIAL__) |
Checks if SPI polynomial value to be used for the CRC calculation, is in allowed range. | |
#define | IS_SPI_DMA_HANDLE(__HANDLE__) ((__HANDLE__) != NULL) |
Checks if DMA handle is valid. | |
Typedefs | |
typedef struct __SPI_HandleTypeDef | SPI_HandleTypeDef |
SPI handle Structure definition. | |
typedef void(* | pSPI_CallbackTypeDef )(SPI_HandleTypeDef *hspi) |
HAL SPI Callback pointer definition. | |
Enumerations | |
enum | HAL_SPI_StateTypeDef { HAL_SPI_STATE_RESET = 0x00U, HAL_SPI_STATE_READY = 0x01U, HAL_SPI_STATE_BUSY = 0x02U, HAL_SPI_STATE_BUSY_TX = 0x03U, HAL_SPI_STATE_BUSY_RX = 0x04U, HAL_SPI_STATE_BUSY_TX_RX = 0x05U, HAL_SPI_STATE_ERROR = 0x06U, HAL_SPI_STATE_ABORT = 0x07U } |
HAL SPI State structure definition. More... | |
enum | HAL_SPI_CallbackIDTypeDef { HAL_SPI_TX_COMPLETE_CB_ID = 0x00U, HAL_SPI_RX_COMPLETE_CB_ID = 0x01U, HAL_SPI_TX_RX_COMPLETE_CB_ID = 0x02U, HAL_SPI_TX_HALF_COMPLETE_CB_ID = 0x03U, HAL_SPI_RX_HALF_COMPLETE_CB_ID = 0x04U, HAL_SPI_TX_RX_HALF_COMPLETE_CB_ID = 0x05U, HAL_SPI_ERROR_CB_ID = 0x06U, HAL_SPI_ABORT_CB_ID = 0x07U, HAL_SPI_MSPINIT_CB_ID = 0x08U, HAL_SPI_MSPDEINIT_CB_ID = 0x09U } |
HAL SPI Callback ID enumeration definition. More... | |
Functions | |
HAL_StatusTypeDef | HAL_SPI_Init (SPI_HandleTypeDef *hspi) |
Initialize the SPI according to the specified parameters in the SPI_InitTypeDef and initialize the associated handle. | |
HAL_StatusTypeDef | HAL_SPI_DeInit (SPI_HandleTypeDef *hspi) |
De-Initialize the SPI peripheral. | |
__weak void | HAL_SPI_MspInit (SPI_HandleTypeDef *hspi) |
Initialize the SPI MSP. | |
__weak void | HAL_SPI_MspDeInit (SPI_HandleTypeDef *hspi) |
De-Initialize the SPI MSP. | |
HAL_StatusTypeDef | HAL_SPI_RegisterCallback (SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef CallbackID, pSPI_CallbackTypeDef pCallback) |
Register a User SPI Callback To be used instead of the weak predefined callback. | |
HAL_StatusTypeDef | HAL_SPI_UnRegisterCallback (SPI_HandleTypeDef *hspi, HAL_SPI_CallbackIDTypeDef CallbackID) |
Unregister an SPI Callback SPI callback is redirected to the weak predefined callback. | |
HAL_StatusTypeDef | HAL_SPI_Transmit (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Transmit an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SPI_Receive (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
Receive an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SPI_TransmitReceive (SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) |
Transmit and Receive an amount of data in blocking mode. | |
HAL_StatusTypeDef | HAL_SPI_Transmit_IT (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) |
Transmit an amount of data in non-blocking mode with Interrupt. | |
HAL_StatusTypeDef | HAL_SPI_Receive_IT (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) |
Receive an amount of data in non-blocking mode with Interrupt. | |
HAL_StatusTypeDef | HAL_SPI_TransmitReceive_IT (SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) |
Transmit and Receive an amount of data in non-blocking mode with Interrupt. | |
HAL_StatusTypeDef | HAL_SPI_Transmit_DMA (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) |
Transmit an amount of data in non-blocking mode with DMA. | |
HAL_StatusTypeDef | HAL_SPI_Receive_DMA (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) |
Receive an amount of data in non-blocking mode with DMA. | |
HAL_StatusTypeDef | HAL_SPI_TransmitReceive_DMA (SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) |
Transmit and Receive an amount of data in non-blocking mode with DMA. | |
HAL_StatusTypeDef | HAL_SPI_DMAPause (SPI_HandleTypeDef *hspi) |
Pause the DMA Transfer. | |
HAL_StatusTypeDef | HAL_SPI_DMAResume (SPI_HandleTypeDef *hspi) |
Resume the DMA Transfer. | |
HAL_StatusTypeDef | HAL_SPI_DMAStop (SPI_HandleTypeDef *hspi) |
Stop the DMA Transfer. | |
HAL_StatusTypeDef | HAL_SPI_Abort (SPI_HandleTypeDef *hspi) |
Abort ongoing transfer (blocking mode). | |
HAL_StatusTypeDef | HAL_SPI_Abort_IT (SPI_HandleTypeDef *hspi) |
Abort ongoing transfer (Interrupt mode). | |
void | HAL_SPI_IRQHandler (SPI_HandleTypeDef *hspi) |
Handle SPI interrupt request. | |
__weak void | HAL_SPI_TxCpltCallback (SPI_HandleTypeDef *hspi) |
Tx Transfer completed callback. | |
__weak void | HAL_SPI_RxCpltCallback (SPI_HandleTypeDef *hspi) |
Rx Transfer completed callback. | |
__weak void | HAL_SPI_TxRxCpltCallback (SPI_HandleTypeDef *hspi) |
Tx and Rx Transfer completed callback. | |
__weak void | HAL_SPI_TxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
Tx Half Transfer completed callback. | |
__weak void | HAL_SPI_RxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
Rx Half Transfer completed callback. | |
__weak void | HAL_SPI_TxRxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
Tx and Rx Half Transfer callback. | |
__weak void | HAL_SPI_ErrorCallback (SPI_HandleTypeDef *hspi) |
SPI error callback. | |
__weak void | HAL_SPI_AbortCpltCallback (SPI_HandleTypeDef *hspi) |
SPI Abort Complete callback. | |
HAL_SPI_StateTypeDef | HAL_SPI_GetState (SPI_HandleTypeDef *hspi) |
Return the SPI handle state. | |
uint32_t | HAL_SPI_GetError (SPI_HandleTypeDef *hspi) |
Return the SPI error code. |
Header file of SPI HAL module.
This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause
Definition in file stm32f4xx_hal_spi.h.