时钟树
倍频与分频:
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