• stm32时钟配置总结


    stm32时钟配置时钟源:

    1,HSE(高速外部时钟)即常见的外接8M晶振方案;

    2,HSI(高速内部时钟) 即8M内部振荡时钟方案;

    3,LSE(低速外部时钟)即常见的32.768Khz晶振方案;

    4,LSI(低速内部时钟)即40Khz的内部震荡时钟方案;

    5,PLL(锁相环技术)时钟倍频技术方案;

    内部时钟因为精度问题,一般不予以考虑。我们常见的应用办法是,HSE外界8M晶振,然后通过PLL将时钟倍频的时钟配置方案。

    正如上图所示,我们硬件上要做的是在OSC_IN和OSC_OUT引脚接入8M的晶振电路,软件上要实现的是将8M的HSE经

    PLL转化为系统时钟,进而为各路总线使用。

    具体代码实现如下:

     1 void RCC_Configuration(void)
     2 {
     3     //选择HSE时钟
     4     RCC->CR|=(1<<16);
     5     //等待HSE稳定
     6     while(!(RCC->CR>>16));
     7     //PLL时钟来源选择HSE 
     8     RCC_CFGR|=(1<<16); 
     9     //PLL倍频系数选择:9(9*8M=72M)
    10     RCC_CFGR|=(7<<18);
    11     //FLASH的延时周期为2周期  
    12     FLASH->ACR=0x32; 
    13     //PLL时钟使能 
    14     RCC->|=(1<<24);
    15     //等待PLL时钟稳定 
    16     while(!(RCC>>24));
    17     //配置系统时钟为PLL时钟 
    18     RCC_CFGR|=(1<<1);
    19     //配置APB1=36M;APB2和AHB都为72M 
    20     RCC_CFGR|=(4<<8); 
    21     //等待系统时钟稳定 
    22     while((RCC_CFGR&(uint32_t)0x0c)!=(uint32_t)0x08); 
    23 }
  • 相关阅读:
    (转)spring学习之@ModelAttribute运用详解
    (转)Spring3MVC 在JSP中使用@ModelAttribute
    (转)如何在maven的pom.xml中添加本地jar包
    (转)linux中项目部署和日志查看
    (转)Schema
    (转)xml
    (转)Dom4J解析
    判断一个请求是否为Ajax请求
    spring mvc中拦截器配置mvc:interceptors
    Freemarker自定义方法
  • 原文地址:https://www.cnblogs.com/achao123456/p/5805324.html
Copyright © 2020-2023  润新知