98 #ifdef HAL_SPI_MODULE_ENABLED 105 #define SPI_DEFAULT_TIMEOUT 50 129 #if (USE_SPI_CRC != 0U) 219 #if (USE_SPI_CRC != 0U) 289 #if (USE_SPI_CRC != 0U) 428 if((pData ==
NULL ) || (Size == 0))
450 #if (USE_SPI_CRC != 0U) 522 #if (USE_SPI_CRC != 0U) 531 if(SPI_EndRxTxTransaction(hspi,Timeout) !=
HAL_OK)
565 #if (USE_SPI_CRC != 0U) 566 __IO uint16_t tmpreg;
588 if((pData ==
NULL ) || (Size == 0))
603 #if (USE_SPI_CRC != 0U) 686 #if (USE_SPI_CRC != 0U) 748 if(SPI_EndRxTransaction(hspi,Timeout) !=
HAL_OK)
753 #if (USE_SPI_CRC != 0U) 785 #if (USE_SPI_CRC != 0U) 786 __IO uint16_t tmpreg;
790 uint32_t txallowed = 1U;
805 if((pTxData ==
NULL) || (pRxData ==
NULL) || (Size == 0))
820 #if (USE_SPI_CRC != 0U) 861 #if (USE_SPI_CRC != 0U) 912 #if (USE_SPI_CRC != 0U) 956 #if (USE_SPI_CRC != 0U) 1006 if(SPI_EndRxTxTransaction(hspi,Timeout) !=
HAL_OK)
1038 if((pData ==
NULL) || (Size == 0))
1064 hspi->
TxISR = SPI_TxISR_16BIT;
1068 hspi->
TxISR = SPI_TxISR_8BIT;
1077 #if (USE_SPI_CRC != 0U) 1120 if((pData ==
NULL) || (Size == 0))
1164 hspi->
RxISR = SPI_RxISR_16BIT;
1170 hspi->
RxISR = SPI_RxISR_8BIT;
1179 #if (USE_SPI_CRC != 0U) 1227 if((pTxData ==
NULL ) || (pRxData ==
NULL ) || (Size == 0))
1259 hspi->
RxISR = SPI_2linesRxISR_16BIT;
1260 hspi->
TxISR = SPI_2linesTxISR_16BIT;
1264 hspi->
RxISR = SPI_2linesRxISR_8BIT;
1265 hspi->
TxISR = SPI_2linesTxISR_8BIT;
1268 #if (USE_SPI_CRC != 0U) 1326 if((pData ==
NULL) || (Size == 0))
1347 #if (USE_SPI_CRC != 0U) 1429 if((pData ==
NULL) || (Size == 0))
1459 #if (USE_SPI_CRC != 0U) 1547 if((pTxData ==
NULL ) || (pRxData ==
NULL ) || (Size == 0))
1567 #if (USE_SPI_CRC != 0U) 1783 if((itflag & SPI_FLAG_OVR) !=
RESET)
2054 if(SPI_EndRxTxTransaction(hspi,SPI_DEFAULT_TIMEOUT) !=
HAL_OK)
2091 #if (USE_SPI_CRC != 0U) 2092 __IO uint16_t tmpreg;
2097 if(SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SPI_FLAG_RXNE, SPI_DEFAULT_TIMEOUT) !=
HAL_OK)
2114 if(SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_RXNE, SPI_FLAG_RXNE, SPI_DEFAULT_TIMEOUT) !=
HAL_OK)
2130 if(SPI_EndRxTransaction(hspi,SPI_DEFAULT_TIMEOUT)!=
HAL_OK)
2138 #if (USE_SPI_CRC != 0U) 2165 #if (USE_SPI_CRC != 0U) 2166 __IO uint16_t tmpreg;
2194 if(SPI_EndRxTxTransaction(hspi,SPI_DEFAULT_TIMEOUT) !=
HAL_OK)
2206 #if (USE_SPI_CRC != 0U) 2322 #if (USE_SPI_CRC != 0U) 2326 hspi->
RxISR = SPI_2linesRxISR_8BITCRC;
2336 SPI_CloseRxTx_ISR(hspi);
2341 #if (USE_SPI_CRC != 0U) 2363 SPI_CloseRxTx_ISR(hspi);
2394 #if (USE_SPI_CRC != 0U) 2406 SPI_CloseRxTx_ISR(hspi);
2426 #if (USE_SPI_CRC != 0U) 2429 hspi->
RxISR = SPI_2linesRxISR_16BITCRC;
2439 SPI_CloseRxTx_ISR(hspi);
2444 #if (USE_SPI_CRC != 0U) 2460 SPI_CloseRxTx_ISR(hspi);
2480 #if (USE_SPI_CRC != 0U) 2492 SPI_CloseRxTx_ISR(hspi);
2497 #if (USE_SPI_CRC != 0U) 2506 __IO uint8_t tmpreg;
2515 SPI_CloseRx_ISR(hspi);
2531 #if (USE_SPI_CRC != 0U) 2541 #if (USE_SPI_CRC != 0U) 2544 hspi->
RxISR = SPI_RxISR_8BITCRC;
2548 SPI_CloseRx_ISR(hspi);
2552 #if (USE_SPI_CRC != 0U) 2561 __IO uint16_t tmpreg;
2569 SPI_CloseRx_ISR(hspi);
2584 #if (USE_SPI_CRC != 0U) 2593 #if (USE_SPI_CRC != 0U) 2596 hspi->
RxISR = SPI_RxISR_16BITCRC;
2600 SPI_CloseRx_ISR(hspi);
2617 #if (USE_SPI_CRC != 0U) 2624 SPI_CloseTx_ISR(hspi);
2643 #if (USE_SPI_CRC != 0U) 2650 SPI_CloseTx_ISR(hspi);
2671 if((Timeout == 0) || ((
HAL_GetTick()-tickstart) >= Timeout))
2715 __IO uint8_t tmpreg;
2728 if((Timeout == 0) || ((
HAL_GetTick()-tickstart) >= Timeout))
2834 if(SPI_EndRxTxTransaction(hspi,SPI_DEFAULT_TIMEOUT)!=
HAL_OK)
2839 #if (USE_SPI_CRC != 0U) 2869 #if (USE_SPI_CRC != 0U) 2886 if(SPI_EndRxTransaction(hspi,SPI_DEFAULT_TIMEOUT)!=
HAL_OK)
2891 #if (USE_SPI_CRC != 0U) 2910 #if (USE_SPI_CRC != 0U) 2927 if(SPI_EndRxTxTransaction(hspi,SPI_DEFAULT_TIMEOUT)!=
HAL_OK)
HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout)
#define HAL_SPI_ERROR_FRE
void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
#define CLEAR_BIT(REG, BIT)
#define IS_SPI_NSSP(NSSP)
#define SPI_DIRECTION_2LINES_RXONLY
HAL_StatusTypeDef HAL_SPI_Transmit_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
#define IS_SPI_CRC_POLYNOMIAL(POLYNOMIAL)
void HAL_SPI_ErrorCallback(SPI_HandleTypeDef *hspi)
void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
#define assert_param(expr)
Include module's header file.
HAL_StatusTypeDef HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
#define __HAL_SPI_CLEAR_FREFLAG(__HANDLE__)
Clears the SPI FRE pending flag.
#define __HAL_SPI_ENABLE(__HANDLE__)
Enables the SPI.
__IO HAL_SPI_StateTypeDef State
#define IS_SPI_CRC_LENGTH(LENGTH)
#define SPI_FRLVL_HALF_FULL
#define __HAL_UNLOCK(__HANDLE__)
#define HAL_SPI_ERROR_MODF
#define IS_SPI_MODE(MODE)
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
#define DMA_MDATAALIGN_HALFWORD
#define __HAL_SPI_CLEAR_OVRFLAG(__HANDLE__)
Clears the SPI OVR pending flag.
#define SPI_RXFIFO_THRESHOLD_QF
#define HAL_SPI_ERROR_NONE
#define WRITE_REG(REG, VAL)
#define SPI_CRC_LENGTH_DATASIZE
#define IS_SPI_TIMODE(MODE)
#define SPI_1LINE_TX(__HANDLE__)
Sets the SPI transmit-only mode.
void HAL_SPI_TxHalfCpltCallback(SPI_HandleTypeDef *hspi)
#define SPI_RXFIFO_THRESHOLD
#define IS_SPI_FIRST_BIT(BIT)
HAL_StatusTypeDef HAL_SPI_Receive_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
#define SPI_CRC_LENGTH_8BIT
#define SPI_CRCCALCULATION_DISABLE
#define HAL_SPI_ERROR_FLAG
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
#define __HAL_LOCK(__HANDLE__)
#define SPI_FRLVL_QUARTER_FULL
#define SPI_DIRECTION_1LINE
void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
#define __HAL_SPI_GET_FLAG(__HANDLE__, __FLAG__)
Checks whether the specified SPI flag is set or not.
DMA_HandleTypeDef * hdmatx
#define HAL_SPI_ERROR_CRC
SPI handle Structure definition.
#define __HAL_SPI_DISABLE_IT(__HANDLE__, __INTERRUPT__)
uint32_t BaudRatePrescaler
#define HAL_SPI_ERROR_OVR
#define __HAL_SPI_DISABLE(__HANDLE__)
Disables the SPI.
HAL_SPI_StateTypeDef HAL_SPI_GetState(SPI_HandleTypeDef *hspi)
#define SPI_DIRECTION_2LINES
#define IS_SPI_ALL_INSTANCE(__INSTANCE__)
HAL_StatusTypeDef HAL_SPI_DMAPause(SPI_HandleTypeDef *hspi)
This file contains all the functions prototypes for the HAL module driver.
#define HAL_SPI_ERROR_DMA
HAL_StatusTypeDef HAL_SPI_DeInit(SPI_HandleTypeDef *hspi)
#define SPI_CRCCALCULATION_ENABLE
HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi)
#define IS_SPI_CRC_CALCULATION(CALCULATION)
DMA_Stream_TypeDef * Instance
HAL_StatusTypeDef HAL_SPI_TransmitReceive_IT(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size)
HAL_StatusTypeDef HAL_SPI_DMAResume(SPI_HandleTypeDef *hspi)
#define SPI_1LINE_RX(__HANDLE__)
Sets the SPI receive-only mode.
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)
#define SPI_RXFIFO_THRESHOLD_HF
void(* RxISR)(struct __SPI_HandleTypeDef *hspi)
#define IS_SPI_BAUDRATE_PRESCALER(PRESCALER)
void(* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma)
#define SPI_DATASIZE_16BIT
void(* TxISR)(struct __SPI_HandleTypeDef *hspi)
HAL_StatusTypeDef HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
#define SET_BIT(REG, BIT)
uint32_t HAL_SPI_GetError(SPI_HandleTypeDef *hspi)
#define HAL_IS_BIT_SET(REG, BIT)
#define IS_SPI_CPOL(CPOL)
#define IS_SPI_DIRECTION(MODE)
DMA handle Structure definition.
#define SPI_CRC_LENGTH_16BIT
void HAL_SPI_RxHalfCpltCallback(SPI_HandleTypeDef *hspi)
HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout)
#define SPI_RESET_CRC(__HANDLE__)
Resets the CRC calculation of the SPI.
#define IS_SPI_CPHA(CPHA)
#define __HAL_SPI_CLEAR_CRCERRFLAG(__HANDLE__)
Clears the SPI CRCERR pending flag.
HAL_StatusTypeDef HAL_SPI_Transmit_IT(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)
#define SPI_DATASIZE_8BIT
#define IS_SPI_DATASIZE(DATASIZE)
uint32_t MemDataAlignment
HAL_StatusTypeDef
HAL Status structures definition.
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_SPI_DMAStop(SPI_HandleTypeDef *hspi)
void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi)
void HAL_SPI_TxRxHalfCpltCallback(SPI_HandleTypeDef *hspi)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout)
#define __HAL_SPI_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enables or disables the specified SPI interrupts.
#define __HAL_SPI_CLEAR_MODFFLAG(__HANDLE__)
Clears the SPI MODF pending flag.
#define IS_SPI_DIRECTION_2LINES(MODE)
HAL_SPI_StateTypeDef
HAL State structures definition.
DMA_HandleTypeDef * hdmarx
void HAL_SPI_IRQHandler(SPI_HandleTypeDef *hspi)
void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
#define IS_SPI_DIRECTION_2LINES_OR_1LINE(MODE)