第7:4位HPRE:软件设置AHB的分频系数(具体见参考手册)
第10:8位PPPRE1:软件设置低速APB1(PCLK1)的与分频系数(具体见参考手册)
第13:11位PPPRE2:软件设置高速APB2(PCLK2)的预分频系数(具体见参考手册)
第15:14位ADCPPE:软件设置ADC的时钟频率(最大14Mhz)
第16位PLLSRC:软件选择PLL的时钟源(关闭PLL时写入)
第17位PLLXTPRE:软件选择HSE作为PLL输入时是否分频
第21:18位PLLMUL:软件设置PLL的倍频系数(最高不超过72M,实测超过100M后还能工作)
第26:24位MCO:时钟输出PA8引脚(对于STM32F1来说,最高频率不能超过IO口的频率50Mhz)
7、 APB2 外设时钟使能寄存器(RCC_APB2ENR)
8、 APB1 外设时钟使能寄存器(RCC_APB1ENR)
第0位LSEON:软件设置,外部低速振荡器使能:0:关闭,1:开启;
第1位LSERDY:硬件指示,外部低速LSE就绪:0:未就绪,1:就绪;
第0位LSION:软件设置,内部低速振荡器就绪:0,:40kHz振荡器时钟就绪
第1位LSIRDY:硬件指示,内部低速振荡器就绪:1:就绪,0:未就绪;
第29位IWDGRSTF窗口看门狗复位标志:1:发生窗口看门狗复位;0:未发生
第30位WWDGRSTF独立看门狗复位标志:1:发生独立看门狗复位;0:未发生
1、void RCC_DeInit(void);//将外设RCC寄存器设为缺省值;
2、void RCC_HSEConfig(uint32_t RCC_HSE);//设置外部高速晶振(HSE);
3、void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue);//调整内部高速晶振(HSI)校准值
4、void RCC_HSICmd(FunctionalState NewState);//使能或者失能内部高速晶振(HSI)
5、void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul);//设置PLL时钟源及倍频系数
6、void RCC_PLLCmd(FunctionalState NewState);//使能或者失能PLL
7、void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource);//设置系统时钟(SYSCLK)源
8、void RCC_HCLKConfig(uint32_t RCC_SYSCLK);//设置AHB时钟(HCLK)
9、void RCC_PCLK1Config(uint32_t RCC_HCLK);//设置低速AHB时钟(PCLK1)
10、void RCC_PCLK2Config(uint32_t RCC_HCLK);//设置高速AHB时钟(PCLK2)
11、void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState);//使能或者失能指定的RCC中断
12、 void RCC_USBCLKConfig(uint32_t RCC_USBCLKSource);//设置USB时钟(USBCLK)
13、void RCC_ADCCLKConfig(uint32_t RCC_PCLK2);//设置ADC时钟(ADCCLK)
14、void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);//使能或者失能AHB外设时钟
15、void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);//使能或者失能APB2外设时钟
16、void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);//使能或者失能APB1外设时钟
17、void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);//强制或者释放高速AHB外设复位
18、void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);//强制或者释放高速APB(APB2)外设复位
19、void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);//强制或者释放低速APB(APB1)外设复位
20、void RCC_ClockSecuritySystemCmd(FunctionalState NewState);//使能或者失能时钟安全系统
21、void RCC_MCOConfig(uint8_t RCC_MCO);//选择在MCO管脚上输出的时钟源,警告:当选中系统时钟作为MCO管脚的输出时,注意它的时钟频率不超过50MHz(最大I/O速率)。
22、FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG);//检查指定的RCC标志位
//RCC_FLAG_HSIRDY ,HSI晶振就绪;RCC_FLAG_HSERDY ,HSE晶振就绪;
//RCC_FLAG_PLLRDY ,PLL就绪;RCC_FLAG_LSERDY ,LSI晶振就绪;
//RCC_FLAG_LSIRDY ,LSE晶振就绪;RCC_FLAG_PINRST ,管脚复位 ;
//RCC_FLAG_PORRST ,POR/PDR复位;RCC_FLAG_SFTRST ,软件复位 ;
//RCC_FLAG_IWDGRST ,IWDG复位;RCC_FLAG_WWDGRST ,WWDG复位;
23、void RCC_ClearFlag(void);//清除RCC的复位标志位
24、ITStatus RCC_GetITStatus(uint8_t RCC_IT);//检查指定的RCC中断发生与否
//输入:RCC_IT_LSIRDY,LSI晶振就绪中断;RCC_IT_LSERDY,LSE晶振就绪中断
//RCC_IT_HSIRDY,HSI晶振就绪中断;RCC_IT_HSERDY,HSE晶振就绪中断
//RCC_IT_PLLRDY,PLL就绪中断;RCC_IT_CSS,时钟安全系统中断
25、void RCC_ClearITPendingBit(uint8_t RCC_IT);//清除RCC的中断待处理位
//RCC_IT_LSIRDY,LSI晶振就绪中断;RCC_IT_LSERDY,LSE晶振就绪中断
//RCC_IT_HSIRDY,HSI晶振就绪中断;RCC_IT_HSERDY,HSE晶振就绪中断
//RCC_IT_PLLRDY,PLL就绪中断;RCC_IT_CSS,时钟安全系统中断