Header file of SPI HAL module. More...

Go to the source code of this file.
Classes | |
| struct | __SPI_HandleTypeDef | 
| SPI handle Structure definition.  More... | |
| struct | SPI_InitTypeDef | 
| SPI Configuration Structure definition.  More... | |
Macros | |
| #define | __HAL_SPI_CLEAR_CRCERRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_CRCEC) | 
| Clear the SPI CRCERR pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_EOTFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_EOTC) | 
| Clear the SPI EOT pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_FREFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TIFREC) | 
| Clear the SPI FRE pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_MODFFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , (uint32_t)(SPI_IFCR_MODFC)); | 
| Clear the SPI MODF pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_OVRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_OVRC) | 
| Clear the SPI OVR pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_SUSPFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_SUSPC) | 
| Clear the SPI SUSP pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_TSERFFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TSERFC) | 
| Clear the SPI TSERF pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_TXTFFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_TXTFC) | 
| Clear the SPI UDR pending flag.  More... | |
| #define | __HAL_SPI_CLEAR_UDRFLAG(__HANDLE__) SET_BIT((__HANDLE__)->Instance->IFCR , SPI_IFCR_UDRC) | 
| Clear the SPI UDR pending flag.  More... | |
| #define | __HAL_SPI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1 , SPI_CR1_SPE) | 
| Disable the SPI peripheral.  More... | |
| #define | __HAL_SPI_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= (~(__INTERRUPT__))) | 
| Disable the specified SPI interrupts.  More... | |
| #define | __HAL_SPI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1 , SPI_CR1_SPE) | 
| Enable the SPI peripheral.  More... | |
| #define | __HAL_SPI_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) | 
| Enable the specified SPI interrupts.  More... | |
| #define | __HAL_SPI_GET_FLAG(__HANDLE__, __FLAG__) ((((__HANDLE__)->Instance->SR) & (__FLAG__)) == (__FLAG__)) | 
| Check whether the specified SPI flag is set or not.  More... | |
| #define | __HAL_SPI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((((__HANDLE__)->Instance->IER & (__INTERRUPT__)) == (__INTERRUPT__)) ? SET : RESET) | 
| Check whether the specified SPI interrupt source is enabled or not.  More... | |
| #define | __HAL_SPI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_SPI_STATE_RESET) | 
| Reset SPI handle state.  More... | |
| #define | HAL_SPI_ERROR_ABORT (0x00000040UL) | 
| #define | HAL_SPI_ERROR_CRC (0x00000002UL) | 
| #define | HAL_SPI_ERROR_DMA (0x00000010UL) | 
| #define | HAL_SPI_ERROR_FLAG (0x00000020UL) | 
| #define | HAL_SPI_ERROR_FRE (0x00000008UL) | 
| #define | HAL_SPI_ERROR_MODF (0x00000001UL) | 
| #define | HAL_SPI_ERROR_NONE (0x00000000UL) | 
| #define | HAL_SPI_ERROR_NOT_SUPPORTED (0x00000400UL) | 
| #define | HAL_SPI_ERROR_OVR (0x00000004UL) | 
| #define | HAL_SPI_ERROR_TIMEOUT (0x00000100UL) | 
| #define | HAL_SPI_ERROR_UDR (0x00000080UL) | 
| #define | HAL_SPI_ERROR_UNKNOW (0x00000200UL) | 
| #define | IS_SPI_BAUDRATE_PRESCALER(PRESCALER) | 
| #define | IS_SPI_CPHA(CPHA) | 
| #define | IS_SPI_CPOL(CPOL) | 
| #define | IS_SPI_CRC_CALCULATION(CALCULATION) | 
| #define | IS_SPI_CRC_INITIALIZATION_PATTERN(PATTERN) | 
| #define | IS_SPI_CRC_LENGTH(LENGTH) | 
| #define | IS_SPI_CRC_POLYNOMIAL(POLYNOMIAL) ((POLYNOMIAL) >= 0x1UL) | 
| #define | IS_SPI_DATASIZE(DATASIZE) | 
| #define | IS_SPI_DIRECTION(MODE) | 
| #define | IS_SPI_DIRECTION_2LINES(MODE) ((MODE) == SPI_DIRECTION_2LINES) | 
| #define | IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_RXONLY(MODE) | 
| #define | IS_SPI_DIRECTION_2LINES_OR_1LINE_2LINES_TXONLY(MODE) | 
| #define | IS_SPI_FIFOTHRESHOLD(THRESHOLD) | 
| #define | IS_SPI_FIRST_BIT(BIT) | 
| #define | IS_SPI_MODE(MODE) | 
| #define | IS_SPI_NSS(NSS) | 
| #define | IS_SPI_NSSP(NSSP) | 
| #define | IS_SPI_TIMODE(MODE) | 
| #define | IS_SPI_UNDERRUN_BEHAVIOUR(MODE) | 
| #define | IS_SPI_UNDERRUN_DETECTION(MODE) | 
| #define | SPI_1LINE_RX(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR1 ,SPI_CR1_HDDIR) | 
| Set the SPI receive-only mode.  More... | |
| #define | SPI_1LINE_TX(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR1 , SPI_CR1_HDDIR) | 
| Set the SPI transmit-only mode.  More... | |
| #define | SPI_BAUDRATEPRESCALER_128 (0x60000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_16 (0x30000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_2 (0x00000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_256 (0x70000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_32 (0x40000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_4 (0x10000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_64 (0x50000000UL) | 
| #define | SPI_BAUDRATEPRESCALER_8 (0x20000000UL) | 
| #define | SPI_CRC_INITIALIZATION_ALL_ONE_PATTERN (0x00000001UL) | 
| #define | SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN (0x00000000UL) | 
| #define | SPI_CRC_LENGTH_10BIT (0x00090000UL) | 
| #define | SPI_CRC_LENGTH_11BIT (0x000A0000UL) | 
| #define | SPI_CRC_LENGTH_12BIT (0x000B0000UL) | 
| #define | SPI_CRC_LENGTH_13BIT (0x000C0000UL) | 
| #define | SPI_CRC_LENGTH_14BIT (0x000D0000UL) | 
| #define | SPI_CRC_LENGTH_15BIT (0x000E0000UL) | 
| #define | SPI_CRC_LENGTH_16BIT (0x000F0000UL) | 
| #define | SPI_CRC_LENGTH_17BIT (0x00100000UL) | 
| #define | SPI_CRC_LENGTH_18BIT (0x00110000UL) | 
| #define | SPI_CRC_LENGTH_19BIT (0x00120000UL) | 
| #define | SPI_CRC_LENGTH_20BIT (0x00130000UL) | 
| #define | SPI_CRC_LENGTH_21BIT (0x00140000UL) | 
| #define | SPI_CRC_LENGTH_22BIT (0x00150000UL) | 
| #define | SPI_CRC_LENGTH_23BIT (0x00160000UL) | 
| #define | SPI_CRC_LENGTH_24BIT (0x00170000UL) | 
| #define | SPI_CRC_LENGTH_25BIT (0x00180000UL) | 
| #define | SPI_CRC_LENGTH_26BIT (0x00190000UL) | 
| #define | SPI_CRC_LENGTH_27BIT (0x001A0000UL) | 
| #define | SPI_CRC_LENGTH_28BIT (0x001B0000UL) | 
| #define | SPI_CRC_LENGTH_29BIT (0x001C0000UL) | 
| #define | SPI_CRC_LENGTH_30BIT (0x001D0000UL) | 
| #define | SPI_CRC_LENGTH_31BIT (0x001E0000UL) | 
| #define | SPI_CRC_LENGTH_32BIT (0x001F0000UL) | 
| #define | SPI_CRC_LENGTH_4BIT (0x00030000UL) | 
| #define | SPI_CRC_LENGTH_5BIT (0x00040000UL) | 
| #define | SPI_CRC_LENGTH_6BIT (0x00050000UL) | 
| #define | SPI_CRC_LENGTH_7BIT (0x00060000UL) | 
| #define | SPI_CRC_LENGTH_8BIT (0x00070000UL) | 
| #define | SPI_CRC_LENGTH_9BIT (0x00080000UL) | 
| #define | SPI_CRC_LENGTH_DATASIZE (0x00000000UL) | 
| #define | SPI_CRCCALCULATION_DISABLE (0x00000000UL) | 
| #define | SPI_CRCCALCULATION_ENABLE SPI_CFG1_CRCEN | 
| #define | SPI_DATASIZE_10BIT (0x00000009UL) | 
| #define | SPI_DATASIZE_11BIT (0x0000000AUL) | 
| #define | SPI_DATASIZE_12BIT (0x0000000BUL) | 
| #define | SPI_DATASIZE_13BIT (0x0000000CUL) | 
| #define | SPI_DATASIZE_14BIT (0x0000000DUL) | 
| #define | SPI_DATASIZE_15BIT (0x0000000EUL) | 
| #define | SPI_DATASIZE_16BIT (0x0000000FUL) | 
| #define | SPI_DATASIZE_17BIT (0x00000010UL) | 
| #define | SPI_DATASIZE_18BIT (0x00000011UL) | 
| #define | SPI_DATASIZE_19BIT (0x00000012UL) | 
| #define | SPI_DATASIZE_20BIT (0x00000013UL) | 
| #define | SPI_DATASIZE_21BIT (0x00000014UL) | 
| #define | SPI_DATASIZE_22BIT (0x00000015UL) | 
| #define | SPI_DATASIZE_23BIT (0x00000016UL) | 
| #define | SPI_DATASIZE_24BIT (0x00000017UL) | 
| #define | SPI_DATASIZE_25BIT (0x00000018UL) | 
| #define | SPI_DATASIZE_26BIT (0x00000019UL) | 
| #define | SPI_DATASIZE_27BIT (0x0000001AUL) | 
| #define | SPI_DATASIZE_28BIT (0x0000001BUL) | 
| #define | SPI_DATASIZE_29BIT (0x0000001CUL) | 
| #define | SPI_DATASIZE_30BIT (0x0000001DUL) | 
| #define | SPI_DATASIZE_31BIT (0x0000001EUL) | 
| #define | SPI_DATASIZE_32BIT (0x0000001FUL) | 
| #define | SPI_DATASIZE_4BIT (0x00000003UL) | 
| #define | SPI_DATASIZE_5BIT (0x00000004UL) | 
| #define | SPI_DATASIZE_6BIT (0x00000005UL) | 
| #define | SPI_DATASIZE_7BIT (0x00000006UL) | 
| #define | SPI_DATASIZE_8BIT (0x00000007UL) | 
| #define | SPI_DATASIZE_9BIT (0x00000008UL) | 
| #define | SPI_DIRECTION_1LINE SPI_CFG2_COMM | 
| #define | SPI_DIRECTION_2LINES (0x00000000UL) | 
| #define | SPI_DIRECTION_2LINES_RXONLY SPI_CFG2_COMM_1 | 
| #define | SPI_DIRECTION_2LINES_TXONLY SPI_CFG2_COMM_0 | 
| #define | SPI_FIFO_THRESHOLD_01DATA (0x00000000UL) | 
| #define | SPI_FIFO_THRESHOLD_02DATA (0x00000020UL) | 
| #define | SPI_FIFO_THRESHOLD_03DATA (0x00000040UL) | 
| #define | SPI_FIFO_THRESHOLD_04DATA (0x00000060UL) | 
| #define | SPI_FIFO_THRESHOLD_05DATA (0x00000080UL) | 
| #define | SPI_FIFO_THRESHOLD_06DATA (0x000000A0UL) | 
| #define | SPI_FIFO_THRESHOLD_07DATA (0x000000C0UL) | 
| #define | SPI_FIFO_THRESHOLD_08DATA (0x000000E0UL) | 
| #define | SPI_FIFO_THRESHOLD_09DATA (0x00000100UL) | 
| #define | SPI_FIFO_THRESHOLD_10DATA (0x00000120UL) | 
| #define | SPI_FIFO_THRESHOLD_11DATA (0x00000140UL) | 
| #define | SPI_FIFO_THRESHOLD_12DATA (0x00000160UL) | 
| #define | SPI_FIFO_THRESHOLD_13DATA (0x00000180UL) | 
| #define | SPI_FIFO_THRESHOLD_14DATA (0x000001A0UL) | 
| #define | SPI_FIFO_THRESHOLD_15DATA (0x000001C0UL) | 
| #define | SPI_FIFO_THRESHOLD_16DATA (0x000001E0UL) | 
| #define | SPI_FIRSTBIT_LSB SPI_CFG2_LSBFRST | 
| #define | SPI_FIRSTBIT_MSB (0x00000000UL) | 
| #define | SPI_FLAG_CRCERR SPI_SR_CRCE /* SPI Error flag : CRC error flag */ | 
| #define | SPI_FLAG_DXP SPI_SR_DXP /* SPI status flag : Duplex Packet flag */ | 
| #define | SPI_FLAG_EOT SPI_SR_EOT /* SPI status flag : End of transfer flag */ | 
| #define | SPI_FLAG_FRE SPI_SR_TIFRE /* SPI Error flag : TI mode frame format error flag */ | 
| #define | SPI_FLAG_FRLVL SPI_SR_RXPLVL /* SPI status flag : Fifo reception level 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_RXP SPI_SR_RXP /* SPI status flag : Rx-Packet available flag */ | 
| #define | SPI_FLAG_RXWNE SPI_SR_RXWNE /* SPI status flag : RxFIFO word not empty flag */ | 
| #define | SPI_FLAG_SUSP SPI_SR_SUSP /* SPI status flag : Transfer suspend complete flag */ | 
| #define | SPI_FLAG_TSERF SPI_SR_TSERF /* SPI status flag : Additional number of data reloaded flag */ | 
| #define | SPI_FLAG_TXC SPI_SR_TXC /* SPI status flag : TxFIFO transmission complete flag */ | 
| #define | SPI_FLAG_TXP SPI_SR_TXP /* SPI status flag : Tx-Packet space available flag */ | 
| #define | SPI_FLAG_TXTF SPI_SR_TXTF /* SPI status flag : Transmission Transfer Filled flag */ | 
| #define | SPI_FLAG_UDR SPI_SR_UDR /* SPI Error flag : Underrun flag */ | 
| #define | SPI_HIGHEND_FIFO_SIZE 16UL | 
| #define | SPI_IO_SWAP_DISABLE (0x00000000UL) | 
| #define | SPI_IO_SWAP_ENABLE SPI_CFG2_IOSWP | 
| #define | SPI_IT_CRCERR SPI_IER_CRCEIE | 
| #define | SPI_IT_DXP SPI_IER_DXPIE | 
| #define | SPI_IT_EOT SPI_IER_EOTIE | 
| #define | SPI_IT_ERR (SPI_IT_UDR | SPI_IT_OVR | SPI_IT_FRE | SPI_IT_MODF | SPI_IT_CRCERR) | 
| #define | SPI_IT_FRE SPI_IER_TIFREIE | 
| #define | SPI_IT_MODF SPI_IER_MODFIE | 
| #define | SPI_IT_OVR SPI_IER_OVRIE | 
| #define | SPI_IT_RXP SPI_IER_RXPIE | 
| #define | SPI_IT_TSERF SPI_IER_TSERFIE | 
| #define | SPI_IT_TXP SPI_IER_TXPIE | 
| #define | SPI_IT_TXTF SPI_IER_TXTFIE | 
| #define | SPI_IT_UDR SPI_IER_UDRIE | 
| #define | SPI_LOWEND_FIFO_SIZE 8UL | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_00CYCLE (0x00000000UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_01CYCLE (0x00000010UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_02CYCLE (0x00000020UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_03CYCLE (0x00000030UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_04CYCLE (0x00000040UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_05CYCLE (0x00000050UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_06CYCLE (0x00000060UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_07CYCLE (0x00000070UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_08CYCLE (0x00000080UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_09CYCLE (0x00000090UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_10CYCLE (0x000000A0UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_11CYCLE (0x000000B0UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_12CYCLE (0x000000C0UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_13CYCLE (0x000000D0UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_14CYCLE (0x000000E0UL) | 
| #define | SPI_MASTER_INTERDATA_IDLENESS_15CYCLE (0x000000F0UL) | 
| #define | SPI_MASTER_KEEP_IO_STATE_DISABLE (0x00000000UL) | 
| #define | SPI_MASTER_KEEP_IO_STATE_ENABLE SPI_CFG2_AFCNTR | 
| #define | SPI_MASTER_RX_AUTOSUSP_DISABLE (0x00000000UL) | 
| #define | SPI_MASTER_RX_AUTOSUSP_ENABLE SPI_CR1_MASRX | 
| #define | SPI_MASTER_SS_IDLENESS_00CYCLE (0x00000000UL) | 
| #define | SPI_MASTER_SS_IDLENESS_01CYCLE (0x00000001UL) | 
| #define | SPI_MASTER_SS_IDLENESS_02CYCLE (0x00000002UL) | 
| #define | SPI_MASTER_SS_IDLENESS_03CYCLE (0x00000003UL) | 
| #define | SPI_MASTER_SS_IDLENESS_04CYCLE (0x00000004UL) | 
| #define | SPI_MASTER_SS_IDLENESS_05CYCLE (0x00000005UL) | 
| #define | SPI_MASTER_SS_IDLENESS_06CYCLE (0x00000006UL) | 
| #define | SPI_MASTER_SS_IDLENESS_07CYCLE (0x00000007UL) | 
| #define | SPI_MASTER_SS_IDLENESS_08CYCLE (0x00000008UL) | 
| #define | SPI_MASTER_SS_IDLENESS_09CYCLE (0x00000009UL) | 
| #define | SPI_MASTER_SS_IDLENESS_10CYCLE (0x0000000AUL) | 
| #define | SPI_MASTER_SS_IDLENESS_11CYCLE (0x0000000BUL) | 
| #define | SPI_MASTER_SS_IDLENESS_12CYCLE (0x0000000CUL) | 
| #define | SPI_MASTER_SS_IDLENESS_13CYCLE (0x0000000DUL) | 
| #define | SPI_MASTER_SS_IDLENESS_14CYCLE (0x0000000EUL) | 
| #define | SPI_MASTER_SS_IDLENESS_15CYCLE (0x0000000FUL) | 
| #define | SPI_MODE_MASTER SPI_CFG2_MASTER | 
| #define | SPI_MODE_SLAVE (0x00000000UL) | 
| #define | SPI_NSS_HARD_INPUT (0x00000000UL) | 
| #define | SPI_NSS_HARD_OUTPUT SPI_CFG2_SSOE | 
| #define | SPI_NSS_POLARITY_HIGH SPI_CFG2_SSIOP | 
| #define | SPI_NSS_POLARITY_LOW (0x00000000UL) | 
| #define | SPI_NSS_PULSE_DISABLE (0x00000000UL) | 
| #define | SPI_NSS_PULSE_ENABLE SPI_CFG2_SSOM | 
| #define | SPI_NSS_SOFT SPI_CFG2_SSM | 
| #define | SPI_PHASE_1EDGE (0x00000000UL) | 
| #define | SPI_PHASE_2EDGE SPI_CFG2_CPHA | 
| #define | SPI_POLARITY_HIGH SPI_CFG2_CPOL | 
| #define | SPI_POLARITY_LOW (0x00000000UL) | 
| #define | SPI_RX_FIFO_0PACKET (0x00000000UL) /* 0 or multiple of 4 packets available in the RxFIFO */ | 
| #define | SPI_RX_FIFO_1PACKET (SPI_SR_RXPLVL_0) | 
| #define | SPI_RX_FIFO_2PACKET (SPI_SR_RXPLVL_1) | 
| #define | SPI_RX_FIFO_3PACKET (SPI_SR_RXPLVL_1 | SPI_SR_RXPLVL_0) | 
| #define | SPI_TIMODE_DISABLE (0x00000000UL) | 
| #define | SPI_TIMODE_ENABLE SPI_CFG2_SP_0 | 
| #define | SPI_UNDERRUN_BEHAV_LAST_RECEIVED SPI_CFG1_UDRCFG_0 | 
| #define | SPI_UNDERRUN_BEHAV_LAST_TRANSMITTED SPI_CFG1_UDRCFG_1 | 
| #define | SPI_UNDERRUN_BEHAV_REGISTER_PATTERN (0x00000000UL) | 
| #define | SPI_UNDERRUN_DETECT_BEGIN_ACTIVE_NSS SPI_CFG1_UDRDET_1 | 
| #define | SPI_UNDERRUN_DETECT_BEGIN_DATA_FRAME (0x00000000UL) | 
| #define | SPI_UNDERRUN_DETECT_END_DATA_FRAME SPI_CFG1_UDRDET_0 | 
Typedefs | |
| typedef struct __SPI_HandleTypeDef | SPI_HandleTypeDef | 
| SPI handle Structure definition.  More... | |
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 stm32h7xx_hal_spi.h.