STM32G474xx HAL User Manual
宏定义 | 枚举 | 函数
stm32g4xx_hal_sai.c文件参考

SAI HAL模块驱动程序。此文件提供固件函数用于管理串行音频接口(SAI)外设的以下功能:+ 初始化/反初始化函数+ I/O操作函数+ 外设控制函数+ 外设状态函数。 更多...

#include "stm32g4xx_hal.h"

转到此文件的源代码。

宏定义

#define SAI_DEFAULT_ TIMEOUT   4U
#define SAI_LONG_ TIMEOUT   1U
#define SAI_SPDIF_ FRAME_LENGTH   64U
#define SAI_AC97_ FRAME_LENGTH   256U

枚举

enum  SAI_ ModeTypedef { SAI_MODE_ DMA, SAI_MODE_ IT }

函数

static void SAI_ FillFifo (SAI_ HandleTypeDef *hsai)
 填充FIFO。
static uint32_t SAI_ InterruptFlag (const SAI_ HandleTypeDef *hsai, SAI_ ModeTypedef mode)
 根据SAI设置返回需要设置的中断标志。
static HAL_StatusTypeDef SAI_ InitI2S (SAI_ HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot)
 根据SAI_ InitTypeDef中指定的参数初始化SAI I2S协议,并创建相关的句柄。
static HAL_StatusTypeDef SAI_ InitPCM (SAI_ HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot)
 根据SAI_ InitTypeDef中指定的参数初始化SAI PCM协议,并创建相关的句柄。
static HAL_StatusTypeDef SAI_ Disable (SAI_ HandleTypeDef *hsai)
 禁用SAI并等待禁用完成。
static void SAI_ Transmit_ IT8Bit (SAI_ HandleTypeDef *hsai)
 中断模式下8位传输的发送处理程序。
static void SAI_ Transmit_ IT16Bit (SAI_ HandleTypeDef *hsai)
 中断模式下16位传输的发送处理程序。
static void SAI_ Transmit_ IT32Bit (SAI_ HandleTypeDef *hsai)
 中断模式下32位传输的发送处理程序。
static void SAI_ Receive_ IT8Bit (SAI_ HandleTypeDef *hsai)
 中断模式下8位传输的接收处理程序。
static void SAI_ Receive_ IT16Bit (SAI_ HandleTypeDef *hsai)
 中断模式下16位传输的接收处理程序。
static void SAI_ Receive_ IT32Bit (SAI_ HandleTypeDef *hsai)
 中断模式下32位传输的接收处理程序。
static void SAI_ DMATxCplt (DMA_ HandleTypeDef *hdma)
 DMA SAI发送过程完成回调。
static void SAI_ DMATxHalfCplt (DMA_ HandleTypeDef *hdma)
 DMA SAI发送过程半完成回调。
static void SAI_ DMARxCplt (DMA_ HandleTypeDef *hdma)
 DMA SAI接收过程完成回调。
static void SAI_ DMARxHalfCplt (DMA_ HandleTypeDef *hdma)
 DMA SAI接收过程半完成回调。
static void SAI_ DMAError (DMA_ HandleTypeDef *hdma)
 DMA SAI通信错误回调。
static void SAI_ DMAAbort (DMA_ HandleTypeDef *hdma)
 DMA SAI中止回调。
HAL_StatusTypeDef HAL_ SAI_ InitProtocol (SAI_ HandleTypeDef *hsai, uint32_t protocol, uint32_t datasize, uint32_t nbslot)
 初始化FrameInit、SlotInit结构以及Init的低部分,并根据指定的参数调用HAL_ SAI_ Init函数来初始化SAI块。
HAL_StatusTypeDef HAL_ SAI_ Init (SAI_ HandleTypeDef *hsai)
 根据指定的参数初始化SAI。
HAL_StatusTypeDef HAL_ SAI_ DeInit (SAI_ HandleTypeDef *hsai)
 反初始化SAI外设。
__weak void HAL_ SAI_ MspInit (SAI_ HandleTypeDef *hsai)
 初始化SAI MSP。
__weak void HAL_ SAI_ MspDeInit (SAI_ HandleTypeDef *hsai)
 反初始化SAI MSP。
HAL_StatusTypeDef HAL_ SAI_ RegisterCallback (SAI_ HandleTypeDef *hsai, HAL_ SAI_ CallbackIDTypeDef CallbackID, pSAI_ CallbackTypeDef pCallback)
 注册用户SAI回调函数以替代弱预定义回调。
HAL_StatusTypeDef HAL_ SAI_ UnRegisterCallback (SAI_ HandleTypeDef *hsai, HAL_ SAI_ CallbackIDTypeDef CallbackID)
 注销用户SAI回调函数。
HAL_StatusTypeDef HAL_ SAI_ Transmit (SAI_ HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 在阻塞模式下发送一定量的数据。
HAL_StatusTypeDef HAL_ SAI_ Receive (SAI_ HandleTypeDef *hsai, uint8_t *pData, uint16_t Size, uint32_t Timeout)
 在阻塞模式下接收一定量的数据。
HAL_StatusTypeDef