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(虚拟串口)例程, 也没有这个问题;
这是什么回事? 有没有人遇到过这样的问题?
楼主把时钟配置代码发一下。 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]