STM32 Clock

STM32可使用晶阵 需要对时钟系统进行配置(也可不使用)
Clock
CT117-M4采用24MHz晶阵
四大时钟源
HSE_OSC HSE(高速外部时钟信号简称)
高速外部时钟信号HSE (High Speed External Clock signal)
相应 == HSI(High Speed Internal Clock signal)、LSE(Low..)、LSI(Low..)
Low clock signal直接接入了内部

HSE HSI会拉到主频 SYSCLK
SYSLCK 有三个源头 以上两种外 还有锁相环(PLL)时钟
HSI HSE -> PLL -> SYSLCK
HSI HSE 分频 进入PLL处理 再回SYSLCK

综合:
HSE HSI PLL -> SYSCLK -> AHB -> APB1 APB2
APB1 -> PCLK1 APB2->PCLK2

配置

  1. RCC内 配置HSE Crystal/.....
  2. Clock Configuration
  3. Input frequency晶阵 选择HSE 进入锁相环PLL M
  4. PLL内进行计算 输入SYSCLK == 80MHz

GENERATE CODE后SystemClock_Config于main.c中

  /** Initializes the RCC Oscillators according to the specified parameters
  * in the RCC_OscInitTypeDef structure.
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
//PLL Source Mux 选择了HSE 作为时钟输入
  RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV3;
  RCC_OscInitStruct.PLL.PLLN = 20;
//PLLN *N X20频
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
  RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
//DIV2 /2频

clockcon.png

最后修改:2023 年 04 月 12 日
如果觉得我的文章对你有用,只需评论或转发支持,谢绝投喂!