rcc.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*****************************************************************************
  2. * Copyright (c) 2021, RadarEye Technology Co.,Ltd.
  3. *
  4. * All rights reserved.
  5. * ****************************************************************************/
  6. /**
  7. * @file rcc.h
  8. * @author RadarEye
  9. * @version v1.0.0
  10. *
  11. * @copyright Copyright (c) 2021, RadarEye Technology Co.,Ltd. All rights reserved.
  12. */
  13. #ifndef __RCC_H__
  14. #define __RCC_H__
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #include "n32g45x.h"
  19. #define RCC_24M 24000000
  20. #define RCC_32M 32000000
  21. #define RCC_36M 36000000
  22. #define RCC_48M 48000000
  23. #define RCC_56M 56000000
  24. #define RCC_64M 64000000
  25. #define RCC_72M 72000000
  26. #define RCC_96M 96000000
  27. #define RCC_128M 128000000
  28. #define RCC_144M 144000000
  29. enum
  30. {
  31. SYSCLK_PLLSRC_HSI,
  32. SYSCLK_PLLSRC_HSE,
  33. };
  34. /**
  35. * @brief Selects HSI as System clock source and configure HCLK, PCLK2
  36. * and PCLK1 prescalers.
  37. */
  38. void SetSysClockToHSI(void);
  39. /**
  40. * @brief Selects HSE as System clock source and configure HCLK, PCLK2
  41. * and PCLK1 prescalers.
  42. */
  43. void SetSysClockToHSE(void);
  44. /**
  45. * @brief Selects HSE as System clock source and configure HCLK, PCLK2
  46. * and PCLK1 prescalers.
  47. * @param freq : frequecy of sysclk, like 24000000,36000000...
  48. * @param src : SYSCLK_PLLSRC_HSI, SYSCLK_PLLSRC_HSE
  49. *
  50. */
  51. void SetSysClockToPLL(uint32_t freq, uint8_t src);
  52. #ifdef __cplusplus
  53. }
  54. #endif
  55. #endif /* __RCC_H__ */