• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

stm32的主频谁决定?

liuxiaofei126 2019-09-16 浏览量:911

晶振为8M,这里宏定义  

#define SYSCLK_FREQ_24MHz  24000000 */ ​24M

但是在PLL哪里弄成72M了

#else  

    /@@*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                        RCC_CFGR_PLLMULL));

    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

最后主频是多少呢

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个问题我在低功耗中应用过,当时把宏定义改了,但是主频却没有改变,后来发现主要还是最终的倍频那起作用
    • 发布于 2019-09-18
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:6
  • 一般是由pll倍频最后决定的,经过9倍频最后就是8*9=72MHz了
    • 发布于2019-09-16
    • 举报
    • 评论 0
    • 1
    • 0

  • #define SYSCLK_FREQ_24MHz  24000000 */ 24M

    只是预定义,用来初始化变量SystemCoreClock用的,实际时钟以配置寄存器为准。

    • 发布于2019-09-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 外部晶振决定,然后芯片里有倍频的。
    因为内部就已经决定,你是不可以给更高的脉冲的。
     0
    • 发布于2019-09-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 外部晶振决定,然后芯片里有倍频的。
    因为内部就已经决定,你是不可以给更高的脉冲的。
     0
    • 发布于2019-09-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果说是硬件上那肯定是8M的晶振决定的,但是因为芯片内部程序有倍频的效果,所以就是8M再乘以倍数就得出实际的频率,STM32的时钟有一个时钟树你可以看一下,介绍了如何设置会提供多少的频率
    • 发布于2019-09-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

stm32的主频谁决定?