Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 5 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /** |
1 | /** |
2 | ****************************************************************************** |
2 | ****************************************************************************** |
3 | * @file stm32f1xx_hal_rcc_ex.h |
3 | * @file stm32f1xx_hal_rcc_ex.h |
4 | * @author MCD Application Team |
4 | * @author MCD Application Team |
5 | * @version V1.0.1 |
5 | * @version V1.0.4 |
6 | * @date 31-July-2015 |
6 | * @date 29-April-2016 |
7 | * @brief Header file of RCC HAL Extension module. |
7 | * @brief Header file of RCC HAL Extension module. |
8 | ****************************************************************************** |
8 | ****************************************************************************** |
9 | * @attention |
9 | * @attention |
10 | * |
10 | * |
11 | * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> |
11 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
12 | * |
12 | * |
13 | * Redistribution and use in source and binary forms, with or without modification, |
13 | * Redistribution and use in source and binary forms, with or without modification, |
14 | * are permitted provided that the following conditions are met: |
14 | * are permitted provided that the following conditions are met: |
15 | * 1. Redistributions of source code must retain the above copyright notice, |
15 | * 1. Redistributions of source code must retain the above copyright notice, |
16 | * this list of conditions and the following disclaimer. |
16 | * this list of conditions and the following disclaimer. |
Line 408... | Line 408... | ||
408 | 408 | ||
409 | /** @defgroup RCCEx_USB_Prescaler USB Prescaler |
409 | /** @defgroup RCCEx_USB_Prescaler USB Prescaler |
410 | * @{ |
410 | * @{ |
411 | */ |
411 | */ |
412 | #define RCC_USBCLKSOURCE_PLL RCC_CFGR_USBPRE |
412 | #define RCC_USBCLKSOURCE_PLL RCC_CFGR_USBPRE |
413 | #define RCC_USBCLKSOURCE_PLL_DIV1_5 ((uint32_t)0x00000000) |
413 | #define RCC_USBCLKSOURCE_PLL_DIV1_5 ((uint32_t)0x00000000) |
414 | 414 | ||
415 | /** |
415 | /** |
416 | * @} |
416 | * @} |
417 | */ |
417 | */ |
418 | 418 | ||
Line 602... | Line 602... | ||
602 | #if defined(STM32F105xC) || defined(STM32F107xC) |
602 | #if defined(STM32F105xC) || defined(STM32F107xC) |
603 | /** @defgroup RCCEx_Interrupt RCCEx Interrupt |
603 | /** @defgroup RCCEx_Interrupt RCCEx Interrupt |
604 | * @{ |
604 | * @{ |
605 | */ |
605 | */ |
606 | #define RCC_IT_PLL2RDY ((uint8_t)RCC_CIR_PLL2RDYF) |
606 | #define RCC_IT_PLL2RDY ((uint8_t)RCC_CIR_PLL2RDYF) |
607 | #define RCC_IT_PLLI2SRDY ((uint8_t)RCC_CIR_PLL3RDYF) |
607 | #define RCC_IT_PLLI2SRDY ((uint8_t)RCC_CIR_PLL3RDYF) |
608 | /** |
608 | /** |
609 | * @} |
609 | * @} |
610 | */ |
610 | */ |
611 | 611 | ||
612 | /** @defgroup RCCEx_Flag RCCEx Flag |
612 | /** @defgroup RCCEx_Flag RCCEx Flag |
Line 1400... | Line 1400... | ||
1400 | #if defined(STM32F105xC) || defined(STM32F107xC) |
1400 | #if defined(STM32F105xC) || defined(STM32F107xC) |
1401 | /** @defgroup RCCEx_Peripheral_Clock_Force_Release Peripheral Clock Force Release |
1401 | /** @defgroup RCCEx_Peripheral_Clock_Force_Release Peripheral Clock Force Release |
1402 | * @brief Force or release AHB peripheral reset. |
1402 | * @brief Force or release AHB peripheral reset. |
1403 | * @{ |
1403 | * @{ |
1404 | */ |
1404 | */ |
1405 | #define __HAL_RCC_AHB_FORCE_RESET() (RCC->AHBRSTR = 0xFFFFFFFF) |
1405 | #define __HAL_RCC_AHB_FORCE_RESET() (RCC->AHBRSTR = 0xFFFFFFFFU) |
1406 | #define __HAL_RCC_USB_OTG_FS_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_OTGFSRST)) |
1406 | #define __HAL_RCC_USB_OTG_FS_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_OTGFSRST)) |
1407 | #if defined(STM32F107xC) |
1407 | #if defined(STM32F107xC) |
1408 | #define __HAL_RCC_ETHMAC_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_ETHMACRST)) |
1408 | #define __HAL_RCC_ETHMAC_FORCE_RESET() (RCC->AHBRSTR |= (RCC_AHBRSTR_ETHMACRST)) |
1409 | #endif /* STM32F107xC */ |
1409 | #endif /* STM32F107xC */ |
1410 | 1410 | ||
Line 1601... | Line 1601... | ||
1601 | /** |
1601 | /** |
1602 | * @brief Macro to configure the External High Speed oscillator (HSE) Predivision factor for PLL. |
1602 | * @brief Macro to configure the External High Speed oscillator (HSE) Predivision factor for PLL. |
1603 | * @note Predivision factor can not be changed if PLL is used as system clock |
1603 | * @note Predivision factor can not be changed if PLL is used as system clock |
1604 | * In this case, you have to select another source of the system clock, disable the PLL and |
1604 | * In this case, you have to select another source of the system clock, disable the PLL and |
1605 | * then change the HSE predivision factor. |
1605 | * then change the HSE predivision factor. |
1606 | * @param __HSE_PREDIV_VALUE__: specifies the division value applied to HSE. |
1606 | * @param __HSE_PREDIV_VALUE__ specifies the division value applied to HSE. |
1607 | * This parameter must be a number between RCC_HSE_PREDIV_DIV1 and RCC_HSE_PREDIV_DIV16. |
1607 | * This parameter must be a number between RCC_HSE_PREDIV_DIV1 and RCC_HSE_PREDIV_DIV16. |
1608 | */ |
1608 | */ |
1609 | #define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__) MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PREDIV1, (uint32_t)(__HSE_PREDIV_VALUE__)) |
1609 | #define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__) MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PREDIV1, (uint32_t)(__HSE_PREDIV_VALUE__)) |
1610 | #else |
1610 | #else |
1611 | /** |
1611 | /** |
1612 | * @brief Macro to configure the External High Speed oscillator (HSE) Predivision factor for PLL. |
1612 | * @brief Macro to configure the External High Speed oscillator (HSE) Predivision factor for PLL. |
1613 | * @note Predivision factor can not be changed if PLL is used as system clock |
1613 | * @note Predivision factor can not be changed if PLL is used as system clock |
1614 | * In this case, you have to select another source of the system clock, disable the PLL and |
1614 | * In this case, you have to select another source of the system clock, disable the PLL and |
1615 | * then change the HSE predivision factor. |
1615 | * then change the HSE predivision factor. |
1616 | * @param __HSE_PREDIV_VALUE__: specifies the division value applied to HSE. |
1616 | * @param __HSE_PREDIV_VALUE__ specifies the division value applied to HSE. |
1617 | * This parameter must be a number between RCC_HSE_PREDIV_DIV1 and RCC_HSE_PREDIV_DIV2. |
1617 | * This parameter must be a number between RCC_HSE_PREDIV_DIV1 and RCC_HSE_PREDIV_DIV2. |
1618 | */ |
1618 | */ |
1619 | #define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__) \ |
1619 | #define __HAL_RCC_HSE_PREDIV_CONFIG(__HSE_PREDIV_VALUE__) \ |
1620 | MODIFY_REG(RCC->CFGR,RCC_CFGR_PLLXTPRE, (uint32_t)(__HSE_PREDIV_VALUE__)) |
1620 | MODIFY_REG(RCC->CFGR,RCC_CFGR_PLLXTPRE, (uint32_t)(__HSE_PREDIV_VALUE__)) |
1621 | 1621 | ||
Line 1659... | Line 1659... | ||
1659 | #define __HAL_RCC_PLLI2S_DISABLE() (*(__IO uint32_t *) RCC_CR_PLLI2SON_BB = DISABLE) |
1659 | #define __HAL_RCC_PLLI2S_DISABLE() (*(__IO uint32_t *) RCC_CR_PLLI2SON_BB = DISABLE) |
1660 | 1660 | ||
1661 | /** @brief macros to configure the main PLLI2S multiplication factor. |
1661 | /** @brief macros to configure the main PLLI2S multiplication factor. |
1662 | * @note This function must be used only when the main PLLI2S is disabled. |
1662 | * @note This function must be used only when the main PLLI2S is disabled. |
1663 | * |
1663 | * |
1664 | * @param __PLLI2SMUL__: specifies the multiplication factor for PLLI2S VCO output clock |
1664 | * @param __PLLI2SMUL__ specifies the multiplication factor for PLLI2S VCO output clock |
1665 | * This parameter can be one of the following values: |
1665 | * This parameter can be one of the following values: |
1666 | * @arg RCC_PLLI2S_MUL8: PLLI2SVCO = PLLI2S clock entry x 8 |
1666 | * @arg @ref RCC_PLLI2S_MUL8 PLLI2SVCO = PLLI2S clock entry x 8 |
1667 | * @arg RCC_PLLI2S_MUL9: PLLI2SVCO = PLLI2S clock entry x 9 |
1667 | * @arg @ref RCC_PLLI2S_MUL9 PLLI2SVCO = PLLI2S clock entry x 9 |
1668 | * @arg RCC_PLLI2S_MUL10: PLLI2SVCO = PLLI2S clock entry x 10 |
1668 | * @arg @ref RCC_PLLI2S_MUL10 PLLI2SVCO = PLLI2S clock entry x 10 |
1669 | * @arg RCC_PLLI2S_MUL11: PLLI2SVCO = PLLI2S clock entry x 11 |
1669 | * @arg @ref RCC_PLLI2S_MUL11 PLLI2SVCO = PLLI2S clock entry x 11 |
1670 | * @arg RCC_PLLI2S_MUL12: PLLI2SVCO = PLLI2S clock entry x 12 |
1670 | * @arg @ref RCC_PLLI2S_MUL12 PLLI2SVCO = PLLI2S clock entry x 12 |
1671 | * @arg RCC_PLLI2S_MUL13: PLLI2SVCO = PLLI2S clock entry x 13 |
1671 | * @arg @ref RCC_PLLI2S_MUL13 PLLI2SVCO = PLLI2S clock entry x 13 |
1672 | * @arg RCC_PLLI2S_MUL14: PLLI2SVCO = PLLI2S clock entry x 14 |
1672 | * @arg @ref RCC_PLLI2S_MUL14 PLLI2SVCO = PLLI2S clock entry x 14 |
1673 | * @arg RCC_PLLI2S_MUL16: PLLI2SVCO = PLLI2S clock entry x 16 |
1673 | * @arg @ref RCC_PLLI2S_MUL16 PLLI2SVCO = PLLI2S clock entry x 16 |
1674 | * @arg RCC_PLLI2S_MUL20: PLLI2SVCO = PLLI2S clock entry x 20 |
1674 | * @arg @ref RCC_PLLI2S_MUL20 PLLI2SVCO = PLLI2S clock entry x 20 |
1675 | * |
1675 | * |
1676 | */ |
1676 | */ |
1677 | #define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SMUL__)\ |
1677 | #define __HAL_RCC_PLLI2S_CONFIG(__PLLI2SMUL__)\ |
1678 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PLL3MUL,(__PLLI2SMUL__)) |
1678 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PLL3MUL,(__PLLI2SMUL__)) |
1679 | 1679 | ||
Line 1689... | Line 1689... | ||
1689 | */ |
1689 | */ |
1690 | 1690 | ||
1691 | #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\ |
1691 | #if defined(STM32F102x6) || defined(STM32F102xB) || defined(STM32F103x6)\ |
1692 | || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG) |
1692 | || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG) |
1693 | /** @brief Macro to configure the USB clock. |
1693 | /** @brief Macro to configure the USB clock. |
1694 | * @param __USBCLKSOURCE__: specifies the USB clock source. |
1694 | * @param __USBCLKSOURCE__ specifies the USB clock source. |
1695 | * This parameter can be one of the following values: |
1695 | * This parameter can be one of the following values: |
1696 | * @arg RCC_USBCLKSOURCE_PLL: PLL clock divided by 1 selected as USB clock |
1696 | * @arg @ref RCC_USBCLKSOURCE_PLL PLL clock divided by 1 selected as USB clock |
1697 | * @arg RCC_USBCLKSOURCE_PLL_DIV1_5: PLL clock divided by 1.5 selected as USB clock |
1697 | * @arg @ref RCC_USBCLKSOURCE_PLL_DIV1_5 PLL clock divided by 1.5 selected as USB clock |
1698 | */ |
1698 | */ |
1699 | #define __HAL_RCC_USB_CONFIG(__USBCLKSOURCE__) \ |
1699 | #define __HAL_RCC_USB_CONFIG(__USBCLKSOURCE__) \ |
1700 | MODIFY_REG(RCC->CFGR, RCC_CFGR_USBPRE, (uint32_t)(__USBCLKSOURCE__)) |
1700 | MODIFY_REG(RCC->CFGR, RCC_CFGR_USBPRE, (uint32_t)(__USBCLKSOURCE__)) |
1701 | 1701 | ||
1702 | /** @brief Macro to get the USB clock (USBCLK). |
1702 | /** @brief Macro to get the USB clock (USBCLK). |
1703 | * @retval The clock source can be one of the following values: |
1703 | * @retval The clock source can be one of the following values: |
1704 | * @arg RCC_USBCLKSOURCE_PLL: PLL clock divided by 1 selected as USB clock |
1704 | * @arg @ref RCC_USBCLKSOURCE_PLL PLL clock divided by 1 selected as USB clock |
1705 | * @arg RCC_USBCLKSOURCE_PLL_DIV1_5: PLL clock divided by 1.5 selected as USB clock |
1705 | * @arg @ref RCC_USBCLKSOURCE_PLL_DIV1_5 PLL clock divided by 1.5 selected as USB clock |
1706 | */ |
1706 | */ |
1707 | #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_USBPRE))) |
1707 | #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_USBPRE))) |
1708 | 1708 | ||
1709 | #endif /* STM32F102x6 || STM32F102xB || STM32F103x6 || STM32F103xB || STM32F103xE || STM32F103xG */ |
1709 | #endif /* STM32F102x6 || STM32F102xB || STM32F103x6 || STM32F103xB || STM32F103xE || STM32F103xG */ |
1710 | 1710 | ||
1711 | #if defined(STM32F105xC) || defined(STM32F107xC) |
1711 | #if defined(STM32F105xC) || defined(STM32F107xC) |
1712 | 1712 | ||
1713 | /** @brief Macro to configure the USB OTSclock. |
1713 | /** @brief Macro to configure the USB OTSclock. |
1714 | * @param __USBCLKSOURCE__: specifies the USB clock source. |
1714 | * @param __USBCLKSOURCE__ specifies the USB clock source. |
1715 | * This parameter can be one of the following values: |
1715 | * This parameter can be one of the following values: |
1716 | * @arg RCC_USBCLKSOURCE_PLL_DIV2: PLL clock divided by 2 selected as USB OTG FS clock |
1716 | * @arg @ref RCC_USBCLKSOURCE_PLL_DIV2 PLL clock divided by 2 selected as USB OTG FS clock |
1717 | * @arg RCC_USBCLKSOURCE_PLL_DIV3: PLL clock divided by 3 selected as USB OTG FS clock |
1717 | * @arg @ref RCC_USBCLKSOURCE_PLL_DIV3 PLL clock divided by 3 selected as USB OTG FS clock |
1718 | */ |
1718 | */ |
1719 | #define __HAL_RCC_USB_CONFIG(__USBCLKSOURCE__) \ |
1719 | #define __HAL_RCC_USB_CONFIG(__USBCLKSOURCE__) \ |
1720 | MODIFY_REG(RCC->CFGR, RCC_CFGR_OTGFSPRE, (uint32_t)(__USBCLKSOURCE__)) |
1720 | MODIFY_REG(RCC->CFGR, RCC_CFGR_OTGFSPRE, (uint32_t)(__USBCLKSOURCE__)) |
1721 | 1721 | ||
1722 | /** @brief Macro to get the USB clock (USBCLK). |
1722 | /** @brief Macro to get the USB clock (USBCLK). |
1723 | * @retval The clock source can be one of the following values: |
1723 | * @retval The clock source can be one of the following values: |
1724 | * @arg RCC_USBCLKSOURCE_PLL_DIV2: PLL clock divided by 2 selected as USB OTG FS clock |
1724 | * @arg @ref RCC_USBCLKSOURCE_PLL_DIV2 PLL clock divided by 2 selected as USB OTG FS clock |
1725 | * @arg RCC_USBCLKSOURCE_PLL_DIV3: PLL clock divided by 3 selected as USB OTG FS clock |
1725 | * @arg @ref RCC_USBCLKSOURCE_PLL_DIV3 PLL clock divided by 3 selected as USB OTG FS clock |
1726 | */ |
1726 | */ |
1727 | #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_OTGFSPRE))) |
1727 | #define __HAL_RCC_GET_USB_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_OTGFSPRE))) |
1728 | 1728 | ||
1729 | #endif /* STM32F105xC || STM32F107xC */ |
1729 | #endif /* STM32F105xC || STM32F107xC */ |
1730 | 1730 | ||
1731 | /** @brief Macro to configure the ADCx clock (x=1 to 3 depending on devices). |
1731 | /** @brief Macro to configure the ADCx clock (x=1 to 3 depending on devices). |
1732 | * @param __ADCCLKSOURCE__: specifies the ADC clock source. |
1732 | * @param __ADCCLKSOURCE__ specifies the ADC clock source. |
1733 | * This parameter can be one of the following values: |
1733 | * This parameter can be one of the following values: |
1734 | * @arg RCC_ADCPCLK2_DIV2: PCLK2 clock divided by 2 selected as ADC clock |
1734 | * @arg @ref RCC_ADCPCLK2_DIV2 PCLK2 clock divided by 2 selected as ADC clock |
1735 | * @arg RCC_ADCPCLK2_DIV4: PCLK2 clock divided by 4 selected as ADC clock |
1735 | * @arg @ref RCC_ADCPCLK2_DIV4 PCLK2 clock divided by 4 selected as ADC clock |
1736 | * @arg RCC_ADCPCLK2_DIV6: PCLK2 clock divided by 6 selected as ADC clock |
1736 | * @arg @ref RCC_ADCPCLK2_DIV6 PCLK2 clock divided by 6 selected as ADC clock |
1737 | * @arg RCC_ADCPCLK2_DIV8: PCLK2 clock divided by 8 selected as ADC clock |
1737 | * @arg @ref RCC_ADCPCLK2_DIV8 PCLK2 clock divided by 8 selected as ADC clock |
1738 | */ |
1738 | */ |
1739 | #define __HAL_RCC_ADC_CONFIG(__ADCCLKSOURCE__) \ |
1739 | #define __HAL_RCC_ADC_CONFIG(__ADCCLKSOURCE__) \ |
1740 | MODIFY_REG(RCC->CFGR, RCC_CFGR_ADCPRE, (uint32_t)(__ADCCLKSOURCE__)) |
1740 | MODIFY_REG(RCC->CFGR, RCC_CFGR_ADCPRE, (uint32_t)(__ADCCLKSOURCE__)) |
1741 | 1741 | ||
1742 | /** @brief Macro to get the ADC clock (ADCxCLK, x=1 to 3 depending on devices). |
1742 | /** @brief Macro to get the ADC clock (ADCxCLK, x=1 to 3 depending on devices). |
1743 | * @retval The clock source can be one of the following values: |
1743 | * @retval The clock source can be one of the following values: |
1744 | * @arg RCC_ADCPCLK2_DIV2: PCLK2 clock divided by 2 selected as ADC clock |
1744 | * @arg @ref RCC_ADCPCLK2_DIV2 PCLK2 clock divided by 2 selected as ADC clock |
1745 | * @arg RCC_ADCPCLK2_DIV4: PCLK2 clock divided by 4 selected as ADC clock |
1745 | * @arg @ref RCC_ADCPCLK2_DIV4 PCLK2 clock divided by 4 selected as ADC clock |
1746 | * @arg RCC_ADCPCLK2_DIV6: PCLK2 clock divided by 6 selected as ADC clock |
1746 | * @arg @ref RCC_ADCPCLK2_DIV6 PCLK2 clock divided by 6 selected as ADC clock |
1747 | * @arg RCC_ADCPCLK2_DIV8: PCLK2 clock divided by 8 selected as ADC clock |
1747 | * @arg @ref RCC_ADCPCLK2_DIV8 PCLK2 clock divided by 8 selected as ADC clock |
1748 | */ |
1748 | */ |
1749 | #define __HAL_RCC_GET_ADC_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_ADCPRE))) |
1749 | #define __HAL_RCC_GET_ADC_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR, RCC_CFGR_ADCPRE))) |
1750 | 1750 | ||
1751 | /** |
1751 | /** |
1752 | * @} |
1752 | * @} |
Line 1761... | Line 1761... | ||
1761 | /** |
1761 | /** |
1762 | * @brief Macro to configure the PLL2 & PLLI2S Predivision factor. |
1762 | * @brief Macro to configure the PLL2 & PLLI2S Predivision factor. |
1763 | * @note Predivision factor can not be changed if PLL2 is used indirectly as system clock |
1763 | * @note Predivision factor can not be changed if PLL2 is used indirectly as system clock |
1764 | * In this case, you have to select another source of the system clock, disable the PLL2 and PLLI2S and |
1764 | * In this case, you have to select another source of the system clock, disable the PLL2 and PLLI2S and |
1765 | * then change the PREDIV2 factor. |
1765 | * then change the PREDIV2 factor. |
1766 | * @param __HSE_PREDIV2_VALUE__: specifies the PREDIV2 value applied to PLL2 & PLLI2S. |
1766 | * @param __HSE_PREDIV2_VALUE__ specifies the PREDIV2 value applied to PLL2 & PLLI2S. |
1767 | * This parameter must be a number between RCC_HSE_PREDIV2_DIV1 and RCC_HSE_PREDIV2_DIV16. |
1767 | * This parameter must be a number between RCC_HSE_PREDIV2_DIV1 and RCC_HSE_PREDIV2_DIV16. |
1768 | */ |
1768 | */ |
1769 | #define __HAL_RCC_HSE_PREDIV2_CONFIG(__HSE_PREDIV2_VALUE__) \ |
1769 | #define __HAL_RCC_HSE_PREDIV2_CONFIG(__HSE_PREDIV2_VALUE__) \ |
1770 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PREDIV2, (uint32_t)(__HSE_PREDIV2_VALUE__)) |
1770 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PREDIV2, (uint32_t)(__HSE_PREDIV2_VALUE__)) |
1771 | 1771 | ||
Line 1797... | Line 1797... | ||
1797 | #define __HAL_RCC_PLL2_DISABLE() (*(__IO uint32_t *) RCC_CR_PLL2ON_BB = DISABLE) |
1797 | #define __HAL_RCC_PLL2_DISABLE() (*(__IO uint32_t *) RCC_CR_PLL2ON_BB = DISABLE) |
1798 | 1798 | ||
1799 | /** @brief macros to configure the main PLL2 multiplication factor. |
1799 | /** @brief macros to configure the main PLL2 multiplication factor. |
1800 | * @note This function must be used only when the main PLL2 is disabled. |
1800 | * @note This function must be used only when the main PLL2 is disabled. |
1801 | * |
1801 | * |
1802 | * @param __PLL2MUL__: specifies the multiplication factor for PLL2 VCO output clock |
1802 | * @param __PLL2MUL__ specifies the multiplication factor for PLL2 VCO output clock |
1803 | * This parameter can be one of the following values: |
1803 | * This parameter can be one of the following values: |
1804 | * @arg RCC_PLL2_MUL8: PLL2VCO = PLL2 clock entry x 8 |
1804 | * @arg @ref RCC_PLL2_MUL8 PLL2VCO = PLL2 clock entry x 8 |
1805 | * @arg RCC_PLL2_MUL9: PLL2VCO = PLL2 clock entry x 9 |
1805 | * @arg @ref RCC_PLL2_MUL9 PLL2VCO = PLL2 clock entry x 9 |
1806 | * @arg RCC_PLL2_MUL10: PLL2VCO = PLL2 clock entry x 10 |
1806 | * @arg @ref RCC_PLL2_MUL10 PLL2VCO = PLL2 clock entry x 10 |
1807 | * @arg RCC_PLL2_MUL11: PLL2VCO = PLL2 clock entry x 11 |
1807 | * @arg @ref RCC_PLL2_MUL11 PLL2VCO = PLL2 clock entry x 11 |
1808 | * @arg RCC_PLL2_MUL12: PLL2VCO = PLL2 clock entry x 12 |
1808 | * @arg @ref RCC_PLL2_MUL12 PLL2VCO = PLL2 clock entry x 12 |
1809 | * @arg RCC_PLL2_MUL13: PLL2VCO = PLL2 clock entry x 13 |
1809 | * @arg @ref RCC_PLL2_MUL13 PLL2VCO = PLL2 clock entry x 13 |
1810 | * @arg RCC_PLL2_MUL14: PLL2VCO = PLL2 clock entry x 14 |
1810 | * @arg @ref RCC_PLL2_MUL14 PLL2VCO = PLL2 clock entry x 14 |
1811 | * @arg RCC_PLL2_MUL16: PLL2VCO = PLL2 clock entry x 16 |
1811 | * @arg @ref RCC_PLL2_MUL16 PLL2VCO = PLL2 clock entry x 16 |
1812 | * @arg RCC_PLL2_MUL20: PLL2VCO = PLL2 clock entry x 20 |
1812 | * @arg @ref RCC_PLL2_MUL20 PLL2VCO = PLL2 clock entry x 20 |
1813 | * |
1813 | * |
1814 | */ |
1814 | */ |
1815 | #define __HAL_RCC_PLL2_CONFIG(__PLL2MUL__)\ |
1815 | #define __HAL_RCC_PLL2_CONFIG(__PLL2MUL__)\ |
1816 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PLL2MUL,(__PLL2MUL__)) |
1816 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_PLL2MUL,(__PLL2MUL__)) |
1817 | 1817 | ||
Line 1823... | Line 1823... | ||
1823 | * @brief Macros to configure clock source of I2S peripherals. |
1823 | * @brief Macros to configure clock source of I2S peripherals. |
1824 | * @{ |
1824 | * @{ |
1825 | */ |
1825 | */ |
1826 | 1826 | ||
1827 | /** @brief Macro to configure the I2S2 clock. |
1827 | /** @brief Macro to configure the I2S2 clock. |
1828 | * @param __I2S2CLKSOURCE__: specifies the I2S2 clock source. |
1828 | * @param __I2S2CLKSOURCE__ specifies the I2S2 clock source. |
1829 | * This parameter can be one of the following values: |
1829 | * This parameter can be one of the following values: |
1830 | * @arg RCC_I2S2CLKSOURCE_SYSCLK: system clock selected as I2S3 clock entry |
1830 | * @arg @ref RCC_I2S2CLKSOURCE_SYSCLK system clock selected as I2S3 clock entry |
1831 | * @arg RCC_I2S2CLKSOURCE_PLLI2S_VCO: PLLI2S VCO clock selected as I2S3 clock entry |
1831 | * @arg @ref RCC_I2S2CLKSOURCE_PLLI2S_VCO PLLI2S VCO clock selected as I2S3 clock entry |
1832 | */ |
1832 | */ |
1833 | #define __HAL_RCC_I2S2_CONFIG(__I2S2CLKSOURCE__) \ |
1833 | #define __HAL_RCC_I2S2_CONFIG(__I2S2CLKSOURCE__) \ |
1834 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_I2S2SRC, (uint32_t)(__I2S2CLKSOURCE__)) |
1834 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_I2S2SRC, (uint32_t)(__I2S2CLKSOURCE__)) |
1835 | 1835 | ||
1836 | /** @brief Macro to get the I2S2 clock (I2S2CLK). |
1836 | /** @brief Macro to get the I2S2 clock (I2S2CLK). |
1837 | * @retval The clock source can be one of the following values: |
1837 | * @retval The clock source can be one of the following values: |
1838 | * @arg RCC_I2S2CLKSOURCE_SYSCLK: system clock selected as I2S3 clock entry |
1838 | * @arg @ref RCC_I2S2CLKSOURCE_SYSCLK system clock selected as I2S3 clock entry |
1839 | * @arg RCC_I2S2CLKSOURCE_PLLI2S_VCO: PLLI2S VCO clock selected as I2S3 clock entry |
1839 | * @arg @ref RCC_I2S2CLKSOURCE_PLLI2S_VCO PLLI2S VCO clock selected as I2S3 clock entry |
1840 | */ |
1840 | */ |
1841 | #define __HAL_RCC_GET_I2S2_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR2, RCC_CFGR2_I2S2SRC))) |
1841 | #define __HAL_RCC_GET_I2S2_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR2, RCC_CFGR2_I2S2SRC))) |
1842 | 1842 | ||
1843 | /** @brief Macro to configure the I2S3 clock. |
1843 | /** @brief Macro to configure the I2S3 clock. |
1844 | * @param __I2S2CLKSOURCE__: specifies the I2S3 clock source. |
1844 | * @param __I2S2CLKSOURCE__ specifies the I2S3 clock source. |
1845 | * This parameter can be one of the following values: |
1845 | * This parameter can be one of the following values: |
1846 | * @arg RCC_I2S3CLKSOURCE_SYSCLK: system clock selected as I2S3 clock entry |
1846 | * @arg @ref RCC_I2S3CLKSOURCE_SYSCLK system clock selected as I2S3 clock entry |
1847 | * @arg RCC_I2S3CLKSOURCE_PLLI2S_VCO: PLLI2S VCO clock selected as I2S3 clock entry |
1847 | * @arg @ref RCC_I2S3CLKSOURCE_PLLI2S_VCO PLLI2S VCO clock selected as I2S3 clock entry |
1848 | */ |
1848 | */ |
1849 | #define __HAL_RCC_I2S3_CONFIG(__I2S2CLKSOURCE__) \ |
1849 | #define __HAL_RCC_I2S3_CONFIG(__I2S2CLKSOURCE__) \ |
1850 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_I2S3SRC, (uint32_t)(__I2S2CLKSOURCE__)) |
1850 | MODIFY_REG(RCC->CFGR2, RCC_CFGR2_I2S3SRC, (uint32_t)(__I2S2CLKSOURCE__)) |
1851 | 1851 | ||
1852 | /** @brief Macro to get the I2S3 clock (I2S3CLK). |
1852 | /** @brief Macro to get the I2S3 clock (I2S3CLK). |
1853 | * @retval The clock source can be one of the following values: |
1853 | * @retval The clock source can be one of the following values: |
1854 | * @arg RCC_I2S3CLKSOURCE_SYSCLK: system clock selected as I2S3 clock entry |
1854 | * @arg @ref RCC_I2S3CLKSOURCE_SYSCLK system clock selected as I2S3 clock entry |
1855 | * @arg RCC_I2S3CLKSOURCE_PLLI2S_VCO: PLLI2S VCO clock selected as I2S3 clock entry |
1855 | * @arg @ref RCC_I2S3CLKSOURCE_PLLI2S_VCO PLLI2S VCO clock selected as I2S3 clock entry |
1856 | */ |
1856 | */ |
1857 | #define __HAL_RCC_GET_I2S3_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR2, RCC_CFGR2_I2S3SRC))) |
1857 | #define __HAL_RCC_GET_I2S3_SOURCE() ((uint32_t)(READ_BIT(RCC->CFGR2, RCC_CFGR2_I2S3SRC))) |
1858 | 1858 | ||
1859 | /** |
1859 | /** |
1860 | * @} |
1860 | * @} |