stm32L152系统时钟无法倍频到32M

2019-10-15 19:49发布

每次都死在同一个地方,代码如下,不倍频没有错误,一倍频就出现错误,麻烦大家帮忙看看啊
void Clock_Init(void)

{
  u8 i;
  RCC_DeInit  ( );                                                        
  RCC_HSEConfig(RCC_HSE_OFF);
  RCC_HSICmd(ENABLE);   
  while(RCC_GetFlagStatus  ( RCC_FLAG_HSIRDY) == RESET )        
  {
   }  
         FLASH_PrefetchBufferCmd(ENABLE);         
         FLASH_SetLatency(FLASH_Latency_1);         
         RCC_PLLConfig (RCC_PLLSource_HSI,RCC_PLLMul_4,RCC_PLLDiv_2);                         
         RCC_HCLKConfig(RCC_SYSCLK_Div1);                              //AHB =  SYSCLK       32M
         RCC_PCLK2Config(RCC_HCLK_Div1) ;                          
         RCC_PCLK1Config(RCC_HCLK_Div1);                             
         RCC_PLLCmd(ENABLE);
         while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)            //PLL
        {
        }
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK) ;                   
       while(RCC_GetSYSCLKSource()!= 0x0C)                        //每次都死在这里
        {

        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
秋扫落叶
2019-10-17 04:30
回复【9楼】三叶草:
---------------------------------
0x00: MSI used as system clock
  *              - 0x04: HSI used as system clock  
  *              - 0x08: HSE used as system clock
  *              - 0x0C: LL used as system clock
i=RCC_GetSYSCLKSource();  i通过观察i=0x00,但是0x00 是MSI时钟作为系统时钟啊,我要的是32M的PLL时钟

一周热门 更多>