|
STM32G474xx HAL用户手册
|
初始化和配置函数。 更多...
函数 | |
| 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回调函数。 | |
初始化和配置函数。
===============================================================================
##### 初始化和去初始化函数 #####
===============================================================================
[..] 本节提供了一组用于初始化和去初始化SAIx外设的函数:
(+) 用户必须实现HAL_SAI_MspInit()函数,在其中配置所有相关的外设资源(时钟、GPIO、DMA、中断和NVIC)。
(+) 调用函数HAL_SAI_Init()来配置所选设备:
(++) 模式(主/从 TX/RX)
(++) 协议
(++) 数据大小
(++) MCLK输出
(++) 音频频率
(++) FIFO阈值
(++) 帧配置
(++) 时隙配置
(++) PDM配置
(+) 调用函数HAL_SAI_DeInit()来恢复所选SAI外设的默认配置。
| HAL_StatusTypeDef HAL_SAI_DeInit | ( | SAI_HandleTypeDef * | hsai | ) |
去初始化SAI外设。
| hsai | 指向SAI_HandleTypeDef结构的指针,包含SAI模块的配置信息。 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_sai.c 第 623 行。
参考文献 __SAI_HandleTypeDef::ErrorCode, HAL_SAI_ERROR_NONE, HAL_SAI_MspDeInit(), HAL_SAI_STATE_BUSY, HAL_SAI_STATE_READY, HAL_SAI_STATE_RESET, __SAI_HandleTypeDef::Instance, __SAI_HandleTypeDef::MspDeInitCallback, SAI_Disable(), 和 __SAI_HandleTypeDef::State。
| HAL_StatusTypeDef HAL_SAI_Init | ( | SAI_HandleTypeDef * | hsai | ) |
根据指定参数初始化SAI。
在 SAI_InitTypeDef 结构中配置参数并初始化相关的句柄。
| hsai | 指向SAI_HandleTypeDef结构的指针,包含SAI模块的配置信息。 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_sai.c 第 370 行。
参考文献 SAI_PdmInitTypeDef::Activation, SAI_FrameInitTypeDef::ActiveFrameLength, assert_param, SAI_InitTypeDef::AudioFrequency, SAI_InitTypeDef::AudioMode, SAI_PdmInitTypeDef::ClockEnable, SAI_InitTypeDef::ClockStrobing, SAI_InitTypeDef::CompandingMode, SAI_InitTypeDef::DataSize, __SAI_HandleTypeDef::ErrorCallback, __SAI_HandleTypeDef::ErrorCode, SAI_InitTypeDef::FIFOThreshold, SAI_InitTypeDef::FirstBit, SAI_SlotInitTypeDef::FirstBitOffset, __SAI_HandleTypeDef::FrameInit, SAI_FrameInitTypeDef::FrameLength, SAI_FrameInitTypeDef::FSDefinition, SAI_FrameInitTypeDef::FSOffset, SAI_FrameInitTypeDef::FSPolarity, HAL_RCCEx_GetPeriphCLKFreq(), HAL_SAI_ERROR_NONE, HAL_SAI_ErrorCallback(), HAL_SAI_MspInit(), HAL_SAI_RxCpltCallback(), HAL_SAI_RxHalfCpltCallback(), HAL_SAI_STATE_BUSY, HAL_SAI_STATE_READY, HAL_SAI_STATE_RESET, HAL_SAI_TxCpltCallback(), HAL_SAI_TxHalfCpltCallback(), __SAI_HandleTypeDef::Init, __SAI_HandleTypeDef::Instance, IS_SAI_AUDIO_FREQUENCY, IS_SAI_BLOCK_ACTIVE_FRAME, IS_SAI_BLOCK_CLOCK_STROBING, IS_SAI_BLOCK_COMPANDING_MODE, IS_SAI_BLOCK_DATASIZE, IS_SAI_BLOCK_FIFO_THRESHOLD, IS_SAI_BLOCK_FIRST_BIT, IS_SAI_BLOCK_FIRSTBIT_OFFSET, IS_SAI_BLOCK_FRAME_LENGTH, IS_SAI_BLOCK_FS_DEFINITION, IS_SAI_BLOCK_FS_OFFSET, IS_SAI_BLOCK_FS_POLARITY, IS_SAI_BLOCK_MASTER_DIVIDER, IS_SAI_BLOCK_MCK_OUTPUT, IS_SAI_BLOCK_MCK_OVERSAMPLING, IS_SAI_BLOCK_MODE, IS_SAI_BLOCK_NODIVIDER, IS_SAI_BLOCK_OUTPUT_DRIVE, IS_SAI_BLOCK_PROTOCOL, IS_SAI_BLOCK_SLOT_NUMBER, IS_SAI_BLOCK_SLOT_SIZE, IS_SAI_BLOCK_SYNCEXT, IS_SAI_BLOCK_SYNCHRO, IS_SAI_BLOCK_TRISTATE_MANAGEMENT, IS_SAI_MONO_STEREO_MODE, IS_SAI_PDM_CLOCK_ENABLE, IS_SAI_PDM_MIC_PAIRS_NUMBER, IS_SAI_SLOT_ACTIVE, __SAI_HandleTypeDef::Lock, SAI_InitTypeDef::Mckdiv, SAI_InitTypeDef::MckOutput, SAI_InitTypeDef::MckOverSampling, SAI_PdmInitTypeDef::MicPairsNbr, SAI_InitTypeDef::MonoStereoMode, __SAI_HandleTypeDef::MspInitCallback, SAI_InitTypeDef::NoDivider, SAI_InitTypeDef::OutputDrive, SAI_InitTypeDef::PdmInit, SAI_InitTypeDef::Protocol, RCC_PERIPHCLK_SAI1, __SAI_HandleTypeDef::RxCpltCallback, __SAI_HandleTypeDef::RxHalfCpltCallback, SAI_AC97_FRAME_LENGTH, SAI_AC97_PROTOCOL, SAI_ASYNCHRONOUS, SAI_AUDIO_FREQUENCY_MCKDIV, SAI_CLOCKSTROBING_RISINGEDGE, SAI_Disable(), SAI_FREE_PROTOCOL, SAI_MASTERDIVIDER_DISABLE, SAI_MCK_OVERSAMPLING_ENABLE, SAI_MODEMASTER_RX, SAI_MODEMASTER_TX, SAI_MODESLAVE_TX, SAI_SPDIF_FRAME_LENGTH, SAI_SPDIF_PROTOCOL, SAI_SYNCHRONOUS, SAI_SlotInitTypeDef::SlotActive, __SAI_HandleTypeDef::SlotInit, SAI_SlotInitTypeDef::SlotNumber, SAI_SlotInitTypeDef::SlotSize, __SAI_HandleTypeDef::State, SAI_InitTypeDef::Synchro, SAI_InitTypeDef::SynchroExt, SAI_InitTypeDef::TriState, __SAI_HandleTypeDef::TxCpltCallback, 和 __SAI_HandleTypeDef::TxHalfCpltCallback。
被 HAL_SAI_InitProtocol() 引用。