|
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.
1.7.6.1