打印

使用stm32f101的时钟问题

[复制链接]
4497|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kexd2004|  楼主 | 2010-5-6 11:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kexd2004 于 2010-5-6 11:50 编辑

我用的芯片是stm32f101vbt6,只能工作在36MHz,我用的初始化函数都是开发板上移过来的(用的是103系列,即工作在72MHz),我的板子是能“正常”工作,加了引号是我的定时器2定时时间不对,想弱弱的问几个问题:
1.我初始化时钟为72MHz,板子也能工作,为什么呢
2.我试着修改RCC_Configuration(),再看定时器效果,慢了一半。不知是否已经成功修改了时钟为36MHz呢

void RCC_Configuration(void)
{
    ErrorStatus HSEStartUpStatus;
   
    // Reset the RCC clock configuration to default reset state
    RCC_DeInit();
   
    // Configures the High Speed External oscillator
    RCC_HSEConfig(RCC_HSE_ON);
   
    // Waits for HSE start-up
    HSEStartUpStatus = RCC_WaitForHSEStartUp();
   
    if(HSEStartUpStatus == SUCCESS)
    {
        // Enable Prefetch Buffer
        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
        
        // Sets the code latency value: FLASH Two Latency cycles
        FLASH_SetLatency(FLASH_Latency_2);
        
        // Configures the AHB clock(HCLK): HCLK = SYSCLK
        RCC_HCLKConfig(RCC_SYSCLK_Div1);
        
        // Configures the High Speed APB2 clcok(PCLK2): PCLK2 = HCLK
        RCC_PCLK2Config(RCC_HCLK_Div1);
        
        // Configures the Low Speed APB1 clock(PCLK1): PCLK1 = HCLK/2
        RCC_PCLK1Config(RCC_HCLK_Div2);
        
        // Configures the PLL clock source and multiplication factor
        // PLLCLK = HSE*PLLMul = 8*9 = 72MHz
        //RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//原程序

      RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_9);//my modify:测试看到time2 减慢一半,但到底是不是工作在 36 MHz?
        
        // Enable PLL
        RCC_PLLCmd(ENABLE);
        
        // Checks whether the specified RCC flag is set or not
        // Wait till PLL is ready
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
        
        // Select PLL as system clock source
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
        
        // Get System Clock Source
        // Wait till PLL is used as system clock source
        while(RCC_GetSYSCLKSource() != 0x08);
    }
  /* Enable Clock Security System(CSS) */
     RCC_ClockSecuritySystemCmd(ENABLE); //new add:css(时钟安全系统),外部晶振失效时可以切换到HSI(内部RC)
}
沙发
香水城| | 2010-5-6 12:12 | 只看该作者
1)超频也能工作,但不代表能稳定工作。
2)正确。还可以通过在MCO引脚输出CPU时钟信号验证。

使用特权

评论回复
板凳
kexd2004|  楼主 | 2010-5-6 14:36 | 只看该作者
本帖最后由 kexd2004 于 2010-5-7 09:38 编辑

yes,thx a lot

使用特权

评论回复
地板
txcy| | 2010-5-6 21:21 | 只看该作者
超频一般稳定性就相应差些了

使用特权

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

本版积分规则

19

主题

65

帖子

1

粉丝