STM32时钟问题

[复制链接]
2133|6
 楼主| 06006109 发表于 2012-2-24 12:02 | 显示全部楼层 |阅读模式
RCC_DeInit();
/* Enable HSE */
  RCC_HSEConfig(RCC_HSE_ON);   /*HSE时钟为8MHZ*/
/* Wait till HSE is ready */
  HSEStartUpStatus = RCC_WaitForHSEStartUp();
  if(HSEStartUpStatus == SUCCESS)
  {   /* HCLK = SYSCLK */
    RCC_HCLKConfig(RCC_SYSCLK_Div1);
   /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1);
    /* PCLK1 = HCLK/2 */
    RCC_PCLK1Config(RCC_HCLK_Div2);
    /* Flash 2 wait state */
    FLASH_SetLatency(FLASH_Latency_2);
    /* Enable Prefetch Buffer */
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    /* PLLCLK = 8MHz * 9 = 72 MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
    /* Enable PLL */
    RCC_PLLCmd(ENABLE);
    /* Wait till PLL is ready */
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }
    /* Select PLL as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
    /* Wait till PLL is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }
复位后系统时钟首先是采用HSI,后来根据配置才发生切换。是不是这样的???
上面代码中 RCC_HCLKConfig(RCC_SYSCLK_Div1); 这句函数后,AHB时钟到底是多少?72还是8MHZ?
求解答
香水城 发表于 2012-2-24 12:08 | 显示全部楼层
注释里面有说明:HCLK = SYSCLK,即:SYSCLK是多少,AHB时钟就是多少。
 楼主| 06006109 发表于 2012-2-24 12:18 | 显示全部楼层
2# 香水城
你说这个SYSCLK是多少?
香水城 发表于 2012-2-24 12:20 | 显示全部楼层
2# 香水城
你说这个SYSCLK是多少?
06006109 发表于 2012-2-24 12:18


除了8MHz还有其他选择吗?
 楼主| 06006109 发表于 2012-2-24 12:32 | 显示全部楼层
除了8MHz还有其他选择吗?
香水城 发表于 2012-2-24 12:20

那就是说最后AHB是8MHZ????
香水城 发表于 2012-2-24 12:35 | 显示全部楼层
那就是说最后AHB是8MHZ????
06006109 发表于 2012-2-24 12:32


请你自己思考一下好不好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

8

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部