sanx 发表于 2015-1-8 14:53:35

STM32F1 USB库 Custom HID 时钟问题

用 STM32F1 USB库 V4.0 的版本的 Custom HID 为基础,用 HSI倍频到48MHz,然后使能USB时钟, 就变成8MHz了首先, SYSCLK已经确认是正常的48MHz;
然后, 初始化 USB时钟(1分频)、 USB .....;

再检测 SYSCLK, 结果时钟为 8MHz。



这就头晕了:
1、 就算先Disable USB时钟 -> 配置USB时钟 -> Enable USB时钟, 这样流程也不行;
2、 用 V3.2.1的USB库改HSI就无此问题;
3、 用 V4.0 库的 VCP(虚拟串口)例程, 也没有这个问题;

这是什么回事? 有没有人遇到过这样的问题?

发表于 2015-1-8 15:25:38

楼主把时钟配置代码发一下。

sanx 发表于 2015-1-8 15:36:25

        FLASH_SetLatency(FLASH_Latency_1);                // 1 Flash wait states when HCLK <= 48MHz.
        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

        RCC_DeInit();

        //RCC_AdjustHSICalibrationValue(0x1F);                                       
        RCC_HSICmd(ENABLE);                                                               
        while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET)               
        {
        }
        RCC_HCLKConfig(RCC_SYSCLK_Div1);                                       
        RCC_PCLK1Config(RCC_HCLK_Div2);                                                        //APB1 24MHz
        RCC_PCLK2Config(RCC_HCLK_Div1);                                                        //APB2 48MHz
        RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);       
        RCC_PLLCmd(ENABLE);
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);                               
        while( RCC_GetSYSCLKSource() != 0x08 )
    {
    }

页: [1]
查看完整版本: STM32F1 USB库 Custom HID 时钟问题