微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > stm32用过有源晶振的过来看看

stm32用过有源晶振的过来看看

时间:10-02 整理:3721RD 点击:
最近在搞stm32f107,使用的是24M有源晶振。在调试串口时出现乱码情况。在改为系统内部振荡器时,串口就正常了。我想问一下使用有源晶振和无源晶振在时钟配置时有什么区别吗?附上我的时钟配置函数
void RCC_Configuration(void)
{
    ErrorStatus HSEStartUpStatus;                  
      RCC_DeInit();
    RCC_HSEConfig(RCC_HSE_ON);
    HSEStartUpStatus = RCC_WaitForHSEStartUp();
    if(HSEStartUpStatus == SUCCESS)
    {
        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
        FLASH_SetLatency(FLASH_Latency_2);
        RCC_PCLK1Config(RCC_HCLK_Div2);
        RCC_PCLK2Config(RCC_HCLK_Div1);
        RCC_HCLKConfig(RCC_SYSCLK_Div1);
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_3);//24M*3=72M
        RCC_PLLCmd(ENABLE);
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
        {
        }
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
        while(RCC_GetSYSCLKSource() != 0x08);
        {
        }
    }
}

菜鸟飘过,此贴不沉

帮忙看看啊!

终于找到原因了,把stm32f10x.h里面的
#define HSE_VALUE    ((uint32_t)8000000)
改为
  #define HSE_VALUE    ((uint32_t)24000000)
就搞定了。

换晶振不改代码频率也是头一次见

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top