STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
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... | |
Macros | |
#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 | 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__) |
Enable the specified SPI interrupts. | |
#define | __HAL_SPI_DISABLE_IT(__HANDLE__, __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__) |
Check whether the specified SPI flag is set or not. | |
#define | __HAL_SPI_CLEAR_CRCERRFLAG(__HANDLE__) |
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__) |
Enable the SPI peripheral. | |
#define | __HAL_SPI_DISABLE(__HANDLE__) |
Disable the SPI peripheral. | |
#define | SPI_1LINE_TX(__HANDLE__) |
Set the SPI transmit-only mode. | |
#define | SPI_1LINE_RX(__HANDLE__) |
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__) |
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__) |
Checks if DMA handle is valid. | |
Typedefs | |
typedef struct __SPI_HandleTypeDef | SPI_HandleTypeDef |
SPI handle Structure 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... | |
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. | |
void | HAL_SPI_MspInit (SPI_HandleTypeDef *hspi) |
Initialize the SPI MSP. | |
void | HAL_SPI_MspDeInit (SPI_HandleTypeDef *hspi) |
De-Initialize the SPI MSP. | |
HAL_StatusTypeDef | HAL_SPI_Transmit (SPI_HandleTypeDef *hspi, const 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, const 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, const 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, const 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, const 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, const 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. | |
void | HAL_SPI_TxCpltCallback (SPI_HandleTypeDef *hspi) |
Tx Transfer completed callback. | |
void | HAL_SPI_RxCpltCallback (SPI_HandleTypeDef *hspi) |
Rx Transfer completed callback. | |
void | HAL_SPI_TxRxCpltCallback (SPI_HandleTypeDef *hspi) |
Tx and Rx Transfer completed callback. | |
void | HAL_SPI_TxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
Tx Half Transfer completed callback. | |
void | HAL_SPI_RxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
Rx Half Transfer completed callback. | |
void | HAL_SPI_TxRxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
Tx and Rx Half Transfer callback. | |
void | HAL_SPI_ErrorCallback (SPI_HandleTypeDef *hspi) |
SPI error callback. | |
void | HAL_SPI_AbortCpltCallback (SPI_HandleTypeDef *hspi) |
SPI Abort Complete callback. | |
HAL_SPI_StateTypeDef | HAL_SPI_GetState (const SPI_HandleTypeDef *hspi) |
Return the SPI handle state. | |
uint32_t | HAL_SPI_GetError (const SPI_HandleTypeDef *hspi) |
Return the SPI error code. | |
Header file of SPI HAL module.
Copyright (c) 2016 STMicroelectronics. All rights reserved.
This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.
Definition in file stm32f4xx_hal_spi.h.