HAL
__HAL_RCC_PLLI2S_CONFIG is only used within HAL.
 
Symbols
loading...
Files
loading...

__HAL_RCC_PLLI2S_CONFIG macro

Macro to configure the PLLI2S clock multiplication and division factors .

Syntax

#define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SM__, __PLLI2SN__, __PLLI2SP__, __PLLI2SQ__, __PLLI2SR__) \     (RCC->PLLI2SCFGR = ((__PLLI2SM__) |\     ((__PLLI2SN__) << RCC_PLLI2SCFGR_PLLI2SN_Pos) |\     ((((__PLLI2SP__) >> 1U) -1U) << RCC_PLLI2SCFGR_PLLI2SP_Pos) |\     ((__PLLI2SQ__) << RCC_PLLI2SCFGR_PLLI2SQ_Pos) |\     ((__PLLI2SR__) << RCC_PLLI2SCFGR_PLLI2SR_Pos)))

Arguments

__PLLI2SM__

specifies the division factor for PLLI2S VCO input clock This parameter must be a number between Min_Data = 2 and Max_Data = 63.

__PLLI2SN__

specifies the multiplication factor for PLLI2S VCO output clock This parameter must be a number between Min_Data = 50 and Max_Data = 432.

__PLLI2SP__

specifies division factor for SPDIFRX Clock. This parameter must be a number in the range {2, 4, 6, or 8}.

__PLLI2SQ__

specifies the division factor for SAI clock This parameter must be a number between Min_Data = 2 and Max_Data = 15.

__PLLI2SR__

specifies the division factor for I2S clock This parameter must be a number between Min_Data = 2 and Max_Data = 7.

Notes

This macro must be used only when the PLLI2S is disabled. PLLI2S clock source is common with the main PLL (configured in HAL_RCC_ClockConfig() API). You have to set the PLLI2SM parameter correctly to ensure that the VCO input frequency ranges from 1 to 2 MHz. It is recommended to select a frequency of 1 MHz to limit PLLI2S jitter. You have to set the PLLI2SN parameter correctly to ensure that the VCO output frequency is between Min_Data = 100 and Max_Data = 432 MHz. the PLLI2SP parameter is only available with STM32F446xx Devices You have to set the PLLI2SR parameter correctly to not exceed 192 MHz on the I2S clock frequency.

References

LocationText
stm32f4xx_hal_rcc_ex.h:5922
#define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SM__, __PLLI2SN__, __PLLI2SP__, __PLLI2SQ__, __PLLI2SR__) \
stm32f4xx_hal_rcc_ex.h:5953
#define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SM__, __PLLI2SN__, __PLLI2SQ__, __PLLI2SR__) \
stm32f4xx_hal_rcc_ex.h:5974
#define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SN__, __PLLI2SR__) \
stm32f4xx_hal_rcc_ex.c:341
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SM, PeriphClkInit->PLLI2S.PLLI2SN , plli2sp, plli2sq, PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:360
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SM, PeriphClkInit->PLLI2S.PLLI2SN , plli2sp, PeriphClkInit->PLLI2S.PLLI2SQ, plli2sr);
stm32f4xx_hal_rcc_ex.c:377
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SM, PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, plli2sq, plli2sr);
stm32f4xx_hal_rcc_ex.c:390
stm32f4xx_hal_rcc_ex.c:938
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:1520
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SM, PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:1539
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SM, PeriphClkInit->PLLI2S.PLLI2SN, plli2sq, PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:1556
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SM, PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:2222
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:2574
__HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SR);
stm32f4xx_hal_rcc_ex.c:2864
__HAL_RCC_PLLI2S_CONFIG(PLLI2SInit->PLLI2SM, PLLI2SInit->PLLI2SN, \
stm32f4xx_hal_rcc_ex.c:2871
__HAL_RCC_PLLI2S_CONFIG(PLLI2SInit->PLLI2SM, PLLI2SInit->PLLI2SN, \
stm32f4xx_hal_rcc_ex.c:2886
__HAL_RCC_PLLI2S_CONFIG(PLLI2SInit->PLLI2SN, PLLI2SInit->PLLI2SR);