打印

STM32F102C8如何使用内部时钟源当系统时钟

[复制链接]
2639|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子农民工|  楼主 | 2013-7-30 10:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  在网上看了个例子,总感觉不太对。请有这方面经验的大侠指点指点

  
沙发
电子农民工|  楼主 | 2013-7-30 10:30 | 只看该作者
void RCC_Configuration(void)
{
  RCC_DeInit();//将外设 RCC寄存器重设为缺省值

  RCC_HSICmd(ENABLE);//使能HSI  
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET)//等待HSI使能成功
  {
  }

  if(1)
  {
    //FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    //FLASH_SetLatency(FLASH_Latency_2);
   
    RCC_HCLKConfig(RCC_SYSCLK_Div1);   
    RCC_PCLK1Config(RCC_HCLK_Div2);
    RCC_PCLK2Config(RCC_HCLK_Div1);
   
    //设置 PLL 时钟源及倍频系数
    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);               
    //使能或者失能 PLL,这个参数可以取:ENABLE或者DISABLE
    RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,那么它不能被失能
    //等待指定的 RCC 标志位设置成功 等待PLL初始化成功
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }

    //设置系统时钟(SYSCLK) 设置PLL为系统时钟源
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  
    //等待PLL成功用作于系统时钟的时钟源
    //  0x00:HSI 作为系统时钟
    //  0x04:HSE作为系统时钟
    //  0x08:PLL作为系统时钟  
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }
}

使用特权

评论回复
板凳
airwill| | 2013-7-30 11:54 | 只看该作者
    //设置 PLL 时钟源及倍频系数
    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);               
    //使能或者失能 PLL,这个参数可以取:ENABLE或者DISABLE
    RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,那么它不能被失能
    //等待指定的 RCC 标志位设置成功 等待PLL初始化成功
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }


其实就在这里, 设置 PLL 的时钟源为 HSI/2.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

294

帖子

2

粉丝