你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F1 USB库 Custom HID 时钟问题

[复制链接]
sanx 提问时间:2015-1-8 14:53 /
用 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(虚拟串口)例程, 也没有这个问题;

这是什么回事? 有没有人遇到过这样的问题?
收藏 评论2 发布时间:2015-1-8 14:53

举报

2个回答
废鱼 回答时间: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 )
    {
    }

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版