函数如下:

/**************************************************************************

* 函数名    : RccInitialisation
* 函数描述  : 设置系统各部分时钟
* 输入参数  : 无
* 输出结果  : 无
* 返回值    : 无
**************************************************************************/
void RccInitialisation(void)
{
    /* 定义枚举类型变量 HSEStartUpStatus */
    ErrorStatus HSEStartUpStatus;
    
    /* 复位系统时钟设置*/
    RCC_DeInit();
    /* 开启HSE*/
    RCC_HSEConfig(RCC_HSE_ON);
    /* 等待HSE起振并稳定*/
    HSEStartUpStatus = RCC_WaitForHSEStartUp();
    /* 判断HSE起是否振成功,是则进入if()内部 */
    if(HSEStartUpStatus == SUCCESS)
    {
    /* 选择HCLK(AHB)时钟源为SYSCLK 1分频 */
    RCC_HCLKConfig(RCC_SYSCLK_Div1); 
    /* 选择PCLK2时钟源为 HCLK(AHB) 1分频 */
    RCC_PCLK2Config(RCC_HCLK_Div1); 
    /* 选择PCLK1时钟源为 HCLK(AHB) 2分频 */
    RCC_PCLK1Config(RCC_HCLK_Div2);
    /* 设置FLASH延时周期数为2 */
    FLASH_SetLatency(FLASH_Latency_2);
    /* 使能FLASH预取缓存 */
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    /* 选择锁相环(PLL)时钟源为HSE 1分频,倍频数为9,则PLL输出频率为 8MHz * 9 = 72MHz 
        */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
    /* 使能PLL */ 
    RCC_PLLCmd(ENABLE);
    /* 等待PLL输出稳定 */
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
    /* 选择SYSCLK时钟源为PLL */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
    /* 等待PLL成为SYSCLK时钟源 */
    while(RCC_GetSYSCLKSource() != 0x08);
    }

}

在main函数中调用此函数即可完成时钟的正常配置。

设置stm32系统各部分时钟相关推荐

  1. 4、系统滴答时钟SysTick

    写在开篇前: 首先要明确的第一点:学习知识我们都会到网上查询各种资料,但是由于网上资料大多不全 面,我们对于这些资料需要加以自身的理解并对其有所取舍,所以建议网上查来的资料只做引导. 参考作用,最终确 ...

  2. STM32系统时钟默认设置

    "我们一直都说STM32有一个非常复杂的时钟系统,然而在原子或者野火的例程中,只要涉及到时钟,我们却只能看到类似的库函数调用,如RCC_APB2PeriphClockCmd(RCC_APB2 ...

  3. 如何设置STM32的系统时钟(SYSCLK)

    目录 1.STM32F407 的时钟来源 1.1.HSI 时钟 1.2.HSE 时钟 1.3.主 PLL 时钟 2.时钟树 3.配置系统时钟 3.1.系统时钟有关寄存器 3.2.使用系统的默认配置 3 ...

  4. STM32系统时钟设置(标准库)

    1.STM32F407时钟树 2.系统时钟相关的结构 HSE高速外部时钟信号 锁相环PLL 锁相环的主要作用就是对时钟进行倍频,然后把时钟输出到各个功能部件.PLL有两个,一个主PLL,另一个是专用的 ...

  5. STM32系统时钟设置,采用外部有源晶振相关配置问题

    今天在调试STM32系统时钟设置时遇到一个问题:TIM2定时1Ms,TIM2中断服务函数time++,time=100时LED状态改变.程序运行后发现LED不是按照0.1S的时间闪烁,闪烁的很慢. 查 ...

  6. STM32系统学习——RCC(使用HSE/HSI配置时钟)

    ** STM32系统学习--RCC(使用HSE/HSI配置时钟) ** RCC :reset clock control 复位和时钟控制器.主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树,ST ...

  7. STM32系统时钟及配置方法

    什么是时钟 单片机如果要正常运行,时钟信号是必不可少的.作为CPU的脉搏,时钟的快慢决定了CPU的运行速率,执行指令的速度.一般时钟源会被分频器或倍频器分成多种频率的时钟,以满足系统的不同应用. 那么 ...

  8. 【STM32】标准外设库,系统架构,时钟系统

    文章目录 标准外设库 系统架构 时钟系统 标准外设库 官方库目录列表如下:STM32 标准外设库 工程结构:STM32 不完全手册中新建出来的工程模板 系统架构 STM32 系统架构的知识可以在< ...

  9. STM32系统时钟详解

    STM32时钟树 STM32时钟系统简介 在CPU中时钟系统就像人的心脏一样,给系统一个稳定的类似于人脉搏一样的一个工作时间基准,其重要性是不可言喻的.而STM32F4的时钟系统还是较为复杂的,不像5 ...

最新文章

  1. HDU4738(割点)
  2. Google的系统工程师(SA)如何工作
  3. [ASP.NET MVC3.0]Contact Manager 之迭代开发 一
  4. cscope使用技巧
  5. 【PAT乙级】 1010 一元多项式求导 (25 分)
  6. 关于linux shell脚本开头的#!/bin/sh
  7. 什么是cep算子_Flink中的CEP复杂事件处理 (源码分析)
  8. 工程搭建:搭建子工程之搭建实体类模块和lombok插件
  9. [Swagger2]SpringBoot集成Swagger
  10. RocketMQ事务消费和顺序消费详解
  11. junit可执行但控制层无法执行_解决junit5无法使用gradle test运行测试
  12. zynq processing system 参数设置_【正点原子FPGA连载】第六章自定义IP核-呼吸灯实验-领航者 ZYNQ 之嵌入式开发指南...
  13. OpenGL超级宝典 纹理(一)
  14. OriginPro 中文
  15. 如何获取filecoin_分析:如何捕获Filecoin的价值?
  16. Java培训学习之Java可视化开发工具:WindowBuilder
  17. 微信点餐小程序分析与开发
  18. 浅谈USART_RX_STA各位的描述以及是如何实现数据接收的
  19. 太白金星:我很关心分布式 Quorum NWR
  20. 今日金融词汇--- T+1,是什么?

热门文章

  1. iOS App跳转权限设置
  2. php运行出来一堆乱码,一堆乱码中找到的~_php
  3. java web 性能分析_web系统性能分析JavaMelody
  4. c语言输出居中对齐_PDF管理API-Aspose.PDF 11月新更上线!支持居中对齐输出HTML
  5. 左右声道测试音频_关于制作左右声道音频的剪辑软件推荐
  6. linux根文件系统配置,嵌入式Linux的Cramfs根文件系统配置的解决方案
  7. 值得推荐的C/C++框架和库 【强烈推荐】
  8. 脑源(brainsourcing)技术可以自动识别人类的偏好
  9. 录音降噪哪家强?搜狗西工大联合团队DNS挑战赛夺冠
  10. 数据不够,Waymo用GAN来凑:生成逼真相机图像,在仿真环境中训练无人车模型...