×
单片机 > 单片机程序设计 > 详情

STM32 HSI RCC时钟配置

发布时间:2020-08-26 发布时间:
|
因为不用精确的定时,因此想不用外部晶振,直接使用内部的8MHz RC振荡器作为主振,倍频后系统时钟为36MHz
现将源代码贴在此处。
 
 
/**********************************************************************
* 名    称:void RCC_HSEConfiguration(void)
* 功    能:使用HSI作为主时钟,然后经过倍频PLL=36MHz
* 入口参数:无
* 出口参数:
-----------------------------------------------------------------------
* 说    明: 
***********************************************************************/
void RCC_HSIConfiguration(void)
{
  RCC_DeInit();
    
  RCC_HSICmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
  
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
  
  RCC_HSEConfig(RCC_HSE_OFF);
  RCC_LSEConfig(RCC_LSE_OFF);
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9); //  PLL为 36HMz
  RCC_PLLCmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
  RCC_ADCCLKConfig(RCC_PCLK2_Div4);
  RCC_PCLK2Config(RCC_HCLK_Div1);
  RCC_PCLK1Config(RCC_HCLK_Div2);
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  while(RCC_GetSYSCLKSource() != 0x08);
//   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB
//                          | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD
//                          | RCC_APB2Periph_AFIO, ENABLE);
//   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 |RCC_APB2Periph_ADC1 , ENABLE);
//   RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); 
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机RAM使用