打印

使用16M晶体,STM32F105的USB连接不通的问题

[复制链接]
4198|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seawwh|  楼主 | 2011-4-11 19:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首次使用STM32F105构造一个虚拟串口,发现如下问题
1.测试程序使用的是 STM32_USB_Lib_V3.21 的 Virtual_COM_Port 代码。
2.使用25MHz的晶体,虚拟串口Ok.
  PA9 接3.3v可以工作。但是按照Demo的电路,PA9接Vusb(5v),则没有反应。
3.使用16MHz的晶体,程序做了下列改动,仍然不通。

    /* Configure PLLs *********************************************************/
    /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */
    //    RCC_PREDIV2Config(RCC_PREDIV2_Div5);   
    //    RCC_PLL2Config(RCC_PLL2Mul_8);
   
    /* PLL2 configuration: PLL2CLK = (16M / 4) * 10 = 40 MHz */
    RCC_PREDIV2Config(RCC_PREDIV2_Div4);            // 这两行是修改的部分
    RCC_PLL2Config(RCC_PLL2Mul_10);   //8~20

    RCC_PLL2Cmd(ENABLE);
    /* Wait till PLL2 is ready */
    while (RCC_GetFlagStatus(RCC_FLAG_PLL2RDY) == RESET)
    {}
    /* PLL configuration: PLLCLK = (PLL2 / 5) * 9 = 72 MHz */
    RCC_PREDIV1Config(RCC_PREDIV1_Source_PLL2, RCC_PREDIV1_Div5);
    RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9);
  不知道何处还需要修改?

thanks
沙发
yinyangdianzi| | 2011-4-12 11:01 | 只看该作者
明天会更好,

使用特权

评论回复
板凳
seawwh|  楼主 | 2011-4-13 09:40 | 只看该作者
经过对比调试发现 25MHz 和 16MHz 都可以用于STM32F105 的USB.
需要修改的语句只有一个位置:
RCC_PREDIV2Config(RCC_PREDIV2_Div4);    // PLL2CLK = (16M / 4) * 10 = 40 MHz  
RCC_PLL2Config(RCC_PLL2Mul_10);   
按照这个结果推算, 8MHz晶体,也是可以使用的。

使用特权

评论回复
地板
stinby| | 2014-6-14 23:43 | 只看该作者
F105的USB,可以用25M晶振吗?

使用特权

评论回复
5
dingsujie| | 2014-6-16 13:52 | 只看该作者
8MHZ的晶振可以的,我之前用STM32F103将USB设置时钟为48MHZ

使用特权

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

本版积分规则

145

主题

368

帖子

1

粉丝