STM32 时钟配置分析

配置前首先要选择是否是外部输入时钟,在CubeMX中可以先在RCC中选择,包括选择是否输出时钟。

该图为CubeMX的时钟配置界面,SYSCLK即为系统时钟,HSI和HSE分别表示内部高速时钟和外部高速时钟,LSI和LSE表示低速内部时钟和低速外部时钟,图中标记可以看出:

  • SYSCLK可以选择HSI,HSE,PLLCLK三者,经过分频后给其他外设使用
  • PLLCLK来自于HSI或HSE,经过倍频和分频后可以产生PLLCLK

配置后如果选择输出时钟,可以在PA8和PC9输出时钟,配置输出的代码如下:

	RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
	GPIO_InitTypeDef SCK_InitStructure;
	SCK_InitStructure.GPIO_Pin = GPIO_Pin_8;
	SCK_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
	SCK_InitStructure.GPIO_Mode = GPIO_Mode_AF;
	SCK_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_Init(GPIOA, &SCK_InitStructure);
	//RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1);
	RCC_MCO1Config(RCC_MCO1Source_HSI,RCC_MCO1Div_1);//16M rc
	//RCC_MCO1Config(RCC_MCO1Source_PLLCLK,RCC_MCO1Div_4);

补充一点关于RC振荡器的额外知识消费类芯片RC振荡器的分析与设计

在基于CMOS 工艺的ASIC 设计中,我们常用到以下三种振荡器: RC 振荡器,环形振荡器和晶振。晶振的振荡频率精确但是价格高;环形振荡器的版图面积大,振荡频率高,但稳定性也不好;而RC 振荡器具有成本低,无电感,频率可调,以及电容电阻都能集成到芯片中等优点,但是精度不高,一般认为在1%到10%之间,对工艺参数和温度的变化敏感,工作电压影响其频率。

原文地址:https://www.cnblogs.com/RegressionWorldLine/p/11695892.html