Bootstrap

(12)RCC与时钟树编程—基于铁头山羊的STM32标准库教程

时钟树

倍频与分频:

 LSI:位于芯片内的低速时钟(低速内部时钟):36.768K Hz

 HSI:位于芯片内的高速时钟(高速内部时钟):8M Hz

LSE:位于芯片外的低速时钟(低速外部时钟):36.768K Hz

HSE:位于芯片外的高速时钟(低速外部时钟):4~16M Hz

配置RCC时钟的标准库函数:

RCC_HSEConfig(值1);// HSE开关,值1可以是RCC_HSE_ON或RCC_HSE_OFF

RCC_HSICmd(值1);// HSI开关,值1可以是ENABLE或DISABLE

RCC_PLLConfig(值1,值2);/*锁相环PLL参数配置,值1为分频,可以是RCC_PLLSource_HSI_Div2,
RCC_PLLSource_HSE_Div1,RCC_PLLSource_HSE_Div2,Div表示除以后面的数。
值2用来选择倍频系数,可以是RCC_PLLMulx(x=2..16)*/

RCC_PLLCmd(值1);// 锁相环PLL开关,值1可以是ENABLE或者DISABLE

RCC_SYSCLKConfig(值1); /* 选择SYSCLK来源,值1可以是RCC_SYSCLKSource_HSI,RCC_SYSCLKSource_HSE,RCC_SYSCLKSource_PLLCLK*/

RCC_HCLKConfig(值1); // 配置HCLK,值1可以是RCC_HCLK_ON或RCC_HCLK_OFF

RCC_PCLK1Config(值1);//配置PCLK1,值1可以是RCC_PCLK1_ON或RCC_PCLK1_OFF

RCC_PCLK2Config(值1);// 配置PCLK2,值1可以是RCC_PCLK2_ON或RCC_PCLK2_OFF

FlagStatus RCC_GetFlagStatus(uint8 t RCC FLAG);// 获取RCC的状态

RCC_HCLKConfig(RCC_SYSCLK Divx);//设置AHB分频系数,x可以是1~16

RCC_PCLK1Config(RCC_HCLK Divx);//设置APB1分频系数,x可以是1~16

RCC_PCLK2Config(RCC_HCLK Divx);//设置APB2分频系数,x可以是1~16

总线上外设的时钟开关函数:

RCC_APB2PeriphClockCmd(值1, 值2);//值2为ENABLE或DISABLE

值1可以是:

RCC_APB2Periph_GPIOA
RCC_APB2Periph_GPIOB
RCC_APB2Periph_GPIOC
RCC_APB2Periph_GPIOD
RCC_APB2Periph_GPIOE
RCC_APB2Periph_GPIOF
RCC_APB2Periph_GPIOG
RCC_APB2Periph_ADC1
RCC_APB2Periph_ADC2
RCC_APB2Periph_ADC3
RCC_APB2Periph_TIM1
RCC_APB2Periph_TIM8
RCC_APB2Periph_TIM9
RCC_APB2Periph_TIM10
RCC_APB2Periph_TIM11
RCC_APB2Periph_TIM15
RCC_APB2Periph_TIM16
RCC_APB2Periph_TIM17
RCC_APB2Periph_SPI1
RCC_APB2Periph_USART1

;