美文网首页
stm32--系统时钟

stm32--系统时钟

作者: 飞向深空 | 来源:发表于2019-04-27 09:06 被阅读0次

系统时钟设置步骤

void RCC_HSE_Config(u32 div,u32 pllm) //自定义系统时间(可以修改时钟)div是系统时钟来源,pllm是PLL里的倍频系数
{
    RCC_DeInit(); //将外设RCC寄存器重设为缺省值(初始默认值)
    RCC_HSEConfig(RCC_HSE_ON);//设置外部高速晶振(HSE)
    
    if(RCC_WaitForHSEStartUp()==SUCCESS) //等待HSE起振
    {
        RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB时钟(HCLK)
        RCC_PCLK1Config(RCC_HCLK_Div2);//设置低速AHB时钟(PCLK1)
        RCC_PCLK2Config(RCC_HCLK_Div1);//设置高速AHB时钟(PCLK2)
        RCC_PLLConfig(div,pllm);//设置PLL时钟源及倍频系数
        RCC_PLLCmd(ENABLE); //使能或者失能PLL
        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//等待PLL工作 ,检查指定的RCC标志位设置与否,PLL就绪
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//设置系统时钟(SYSCLK)
        while(RCC_GetSYSCLKSource()!=0x08);//判断是否PLL是系统时钟,返回用作系统时钟的时钟源,0x08:PLL作为系统时钟
        
    }
}

系统时钟来源是PLL但PLL的来源是HSE,要改变系统时钟就改变HSE。

- div有两个选项 RCC_PLLSource_HSE_Div1 (8Mhz),     
 RCC_PLLSource_HSE_Div2(4Mhz)
- pllm为倍频系数,2~16

1.时钟树

image
STM32内部有5个时钟源:HSI、HSE、LSI、LSE、PLL。
①、HSI是高速内部时钟,RC振荡器,频率为8MHz。
②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③、LSI是低速内部时钟,RC振荡器,频率为40kHz。
④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。
⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选为2~16倍,但是其输出频率最大不得超过72MHz。

SystemInit()后时钟频率大小:
SYSCLK(系统时钟) =72MHz
AHB 总线时钟(HCLK=SYSCLK) =72MHz
APB1 总线时钟(PCLK1=SYSCLK/2) =36MHz
APB2 总线时钟(PCLK2=SYSCLK/1) =72MHz
PLL 主时钟 =72MHz

相关文章

  • stm32--系统时钟

    系统时钟设置步骤 1.时钟树 SystemInit()后时钟频率大小:SYSCLK(系统时钟) =72MHzAHB...

  • Linux时钟命令用法及演示

    linux时钟 linux时钟分为系统时钟和硬件时钟。系统时钟是指当前linux kernel中的时钟,而硬件时钟...

  • 系统时钟

    什么是系统时钟?什么是时钟系统? 通常所说的系统时钟就是指时钟系统,它是由振荡器(信号源)、定时唤醒器、分频器等组...

  • 时钟系统

    个人感觉太复杂,基本看不懂 https://blog.csdn.net/ROM7RAM/article/detai...

  • Linux 时间标准简介

    系统如何设置时间 开机时根据硬件时钟来设置系统时钟. 如果开启了 NTP 服务, 会根据网络时间来校正系统时钟,确...

  • linux的系统时钟

    在说linux的系统时钟之前,先弄清楚几个概念 系统时钟的驱动方式 系统时钟的设置 centos 7中的时区和时间...

  • Linux基础命令之-hwclock/date

    hwclock Linux系统里有两个时钟,一个是硬件时钟,一个则是系统时钟。硬件时钟是通过主板的CMOS控制,而...

  • 值班电路 程序分块测试

    1.时钟测试 用P5.4,5.5可以分别输出系统时钟和辅助系统时钟MCLK = 8MHZ,SMCLK = 1MHZ...

  • hwclock显示系统硬件时钟的日期和时间

    ​ 由Linux内核管理的时钟与硬件时钟不同。 硬件时钟运行,即使您关闭您的系统。 硬件时钟也称为BIOS时钟。您...

  • STM32学习:STM32时钟系统

    一、时钟树介绍 三种不同的时钟源可被用来驱动系统时钟(SYSCLK): HSI振荡器时钟 HSE振荡器时钟 PLL...

网友评论

      本文标题:stm32--系统时钟

      本文链接:https://www.haomeiwen.com/subject/yddhnqtx.html