|
STM32G474xx HAL用户手册
|
数据传输函数。 更多...
函数 | |
| HAL_StatusTypeDef | HAL_SPI_Transmit (SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size, uint32_t Timeout) |
| 以阻塞模式发送一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_Receive (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout) |
| 以阻塞模式接收一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_TransmitReceive (SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) |
| 以阻塞模式发送和接收一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_Transmit_IT (SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size) |
| 以非阻塞模式(中断方式)发送一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_Receive_IT (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) |
| 以非阻塞模式(中断方式)接收一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_TransmitReceive_IT (SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) |
| 以非阻塞模式(中断方式)发送和接收一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_Transmit_DMA (SPI_HandleTypeDef *hspi, const uint8_t *pData, uint16_t Size) |
| 以非阻塞模式(DMA方式)发送一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_Receive_DMA (SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size) |
| 以非阻塞模式(DMA方式)接收一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_TransmitReceive_DMA (SPI_HandleTypeDef *hspi, const uint8_t *pTxData, uint8_t *pRxData, uint16_t Size) |
| 以非阻塞模式(DMA方式)发送和接收一定数量的数据。 | |
| HAL_StatusTypeDef | HAL_SPI_Abort (SPI_HandleTypeDef *hspi) |
| 中止正在进行的传输(阻塞模式)。 | |
| HAL_StatusTypeDef | HAL_SPI_Abort_IT (SPI_HandleTypeDef *hspi) |
| 中止正在进行的传输(中断模式)。 | |
| HAL_StatusTypeDef | HAL_SPI_DMAPause (SPI_HandleTypeDef *hspi) |
| 暂停DMA传输。 | |
| HAL_StatusTypeDef | HAL_SPI_DMAResume (SPI_HandleTypeDef *hspi) |
| 恢复DMA传输。 | |
| HAL_StatusTypeDef | HAL_SPI_DMAStop (SPI_HandleTypeDef *hspi) |
| 停止DMA传输。 | |
| void | HAL_SPI_IRQHandler (SPI_HandleTypeDef *hspi) |
| 处理SPI中断请求。 | |
| __weak void | HAL_SPI_TxCpltCallback (SPI_HandleTypeDef *hspi) |
| 发送传输完成回调函数。 | |
| __weak void | HAL_SPI_RxCpltCallback (SPI_HandleTypeDef *hspi) |
| 接收传输完成回调函数。 | |
| __weak void | HAL_SPI_TxRxCpltCallback (SPI_HandleTypeDef *hspi) |
| 发送和接收传输完成回调函数。 | |
| __weak void | HAL_SPI_TxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
| 发送半传输完成回调函数。 | |
| __weak void | HAL_SPI_RxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
| 接收半传输完成回调函数。 | |
| __weak void | HAL_SPI_TxRxHalfCpltCallback (SPI_HandleTypeDef *hspi) |
| 发送和接收半传输回调函数。 | |
| __weak void | HAL_SPI_ErrorCallback (SPI_HandleTypeDef *hspi) |
| SPI错误回调函数。 | |
| __weak void | HAL_SPI_AbortCpltCallback (SPI_HandleTypeDef *hspi) |
| SPI中止完成回调函数。 | |
数据传输函数。
==============================================================================
##### IO操作函数 #####
===============================================================================
[..]
本节提供了一组用于管理SPI数据传输的函数。
[..] SPI支持主模式和从模式:
(#) 传输有两种模式:
(++) 阻塞模式:通信以轮询模式执行。
所有数据处理的HAL状态在传输完成后通过同一函数返回。
(++) 非阻塞模式:通信使用中断
或DMA执行,这些API返回HAL状态。
使用中断模式时,数据处理完成将通过
专用的SPI IRQ指示;使用DMA模式时,则通过DMA IRQ指示。
HAL_SPI_TxCpltCallback()、HAL_SPI_RxCpltCallback()和HAL_SPI_TxRxCpltCallback()用户回调函数
将分别在发送或接收过程结束时执行
当检测到通信错误时,将执行HAL_SPI_ErrorCallback()用户回调函数
(#) 为这两种传输模式(阻塞模式或使用中断或DMA的非阻塞模式)提供的API
适用于1线(单工)和2线(全双工)模式。
| HAL_StatusTypeDef HAL_SPI_Abort | ( | SPI_HandleTypeDef * | hspi | ) |
中止正在进行的传输(阻塞模式)。
| hspi | SPI句柄。 |
| HAL | 状态 |
定义于文件stm32g4xx_hal_spi.c的2347行。
参考文献 __HAL_SPI_CLEAR_FREFLAG, __HAL_SPI_CLEAR_OVRFLAG, __HAL_SPI_DISABLE, __SPI_HandleTypeDef::ErrorCode, HAL_DMA_Abort(), HAL_GetTick(), HAL_SPI_ERROR_ABORT, HAL_SPI_ERROR_NONE, HAL_SPI_STATE_ABORT, HAL_SPI_STATE_READY, __SPI_HandleTypeDef::hdmarx, __SPI_HandleTypeDef::hdmatx, __SPI_HandleTypeDef::Instance, __SPI_HandleTypeDef::RxISR, __SPI_HandleTypeDef::RxXferCount, SPI_AbortRx_ISR(), SPI_AbortTx_ISR(), SPI_DEFAULT_TIMEOUT, SPI_EndRxTxTransaction(), SPI_FLAG_BSY, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, SPI_WaitFifoStateUntilTimeout(), SPI_WaitFlagStateUntilTimeout(), __SPI_HandleTypeDef::State, __SPI_HandleTypeDef::TxISR, __SPI_HandleTypeDef::TxXferCount, 和 __DMA_HandleTypeDef::XferAbortCallback.
| HAL_StatusTypeDef HAL_SPI_Abort_IT | ( | SPI_HandleTypeDef * | hspi | ) |
中止正在进行的传输(中断模式)。