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

2019-07-14 23:28发布

最近在搞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);
        {
        }
    }
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
疯牛裁紫
1楼-- · 2019-07-15 10:23
终于找到原因了,把stm32f10x.h里面的
#define HSE_VALUE    ((uint32_t)8000000)
改为
  #define HSE_VALUE    ((uint32_t)24000000)
就搞定了。。。
Talons1
2楼-- · 2019-07-15 15:20
 精彩回答 2  元偷偷看……

一周热门 更多>