查看: 1352|回复: 0
打印 上一主题 下一主题

STM32l用HSI作为PLL时钟源给USB的问题

[复制链接]
跳转到指定楼层
沙发
发表于 2015-3-23 14:19:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
芯片是STM32L151RB,系统目前没用外部晶振,之前用HSI做系统时钟,把ADC,UART等都跑起来了。
现在要试USB,据说只能用PLL倍频到24M给USB。
结果PLL设置就一直不行,愁死我了。
代码应该很简单,但就是会卡在    while( RCC_GetSYSCLKSource() != 0x0C );
有这样做过的来给提点一下吧,多谢了。

  RCC_HSICmd(ENABLE);

  /*!< Wait till HSI is ready */
  while (RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);

    RCC_PLLCmd(DISABLE);     
    // set PLLMUX to 16*6, and PLL to 16*6/4
    RCC_PLLConfig(RCC_PLLSource_HSI, RCC_PLLMul_6, RCC_PLLDiv_4);
    /* PLL enable */
    RCC_PLLCmd(ENABLE);
    /* wait for PLL stable */
    while(RESET == RCC_GetFlagStatus(RCC_FLAG_PLLRDY));
    // set PLL as sysclk
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
    // Wait for the sysclock to be confirmed as our clock source.
    while( RCC_GetSYSCLKSource() != 0x0C );

    // Enable USB
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表