设置stm32系统各部分时钟
函数如下:
/**************************************************************************
* 函数名 : 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系统各部分时钟相关推荐
- 4、系统滴答时钟SysTick
写在开篇前: 首先要明确的第一点:学习知识我们都会到网上查询各种资料,但是由于网上资料大多不全 面,我们对于这些资料需要加以自身的理解并对其有所取舍,所以建议网上查来的资料只做引导. 参考作用,最终确 ...
- STM32系统时钟默认设置
"我们一直都说STM32有一个非常复杂的时钟系统,然而在原子或者野火的例程中,只要涉及到时钟,我们却只能看到类似的库函数调用,如RCC_APB2PeriphClockCmd(RCC_APB2 ...
- 如何设置STM32的系统时钟(SYSCLK)
目录 1.STM32F407 的时钟来源 1.1.HSI 时钟 1.2.HSE 时钟 1.3.主 PLL 时钟 2.时钟树 3.配置系统时钟 3.1.系统时钟有关寄存器 3.2.使用系统的默认配置 3 ...
- STM32系统时钟设置(标准库)
1.STM32F407时钟树 2.系统时钟相关的结构 HSE高速外部时钟信号 锁相环PLL 锁相环的主要作用就是对时钟进行倍频,然后把时钟输出到各个功能部件.PLL有两个,一个主PLL,另一个是专用的 ...
- STM32系统时钟设置,采用外部有源晶振相关配置问题
今天在调试STM32系统时钟设置时遇到一个问题:TIM2定时1Ms,TIM2中断服务函数time++,time=100时LED状态改变.程序运行后发现LED不是按照0.1S的时间闪烁,闪烁的很慢. 查 ...
- STM32系统学习——RCC(使用HSE/HSI配置时钟)
** STM32系统学习--RCC(使用HSE/HSI配置时钟) ** RCC :reset clock control 复位和时钟控制器.主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树,ST ...
- STM32系统时钟及配置方法
什么是时钟 单片机如果要正常运行,时钟信号是必不可少的.作为CPU的脉搏,时钟的快慢决定了CPU的运行速率,执行指令的速度.一般时钟源会被分频器或倍频器分成多种频率的时钟,以满足系统的不同应用. 那么 ...
- 【STM32】标准外设库,系统架构,时钟系统
文章目录 标准外设库 系统架构 时钟系统 标准外设库 官方库目录列表如下:STM32 标准外设库 工程结构:STM32 不完全手册中新建出来的工程模板 系统架构 STM32 系统架构的知识可以在< ...
- STM32系统时钟详解
STM32时钟树 STM32时钟系统简介 在CPU中时钟系统就像人的心脏一样,给系统一个稳定的类似于人脉搏一样的一个工作时间基准,其重要性是不可言喻的.而STM32F4的时钟系统还是较为复杂的,不像5 ...
最新文章
- HDU4738(割点)
- Google的系统工程师(SA)如何工作
- [ASP.NET MVC3.0]Contact Manager 之迭代开发 一
- cscope使用技巧
- 【PAT乙级】 1010 一元多项式求导 (25 分)
- 关于linux shell脚本开头的#!/bin/sh
- 什么是cep算子_Flink中的CEP复杂事件处理 (源码分析)
- 工程搭建:搭建子工程之搭建实体类模块和lombok插件
- [Swagger2]SpringBoot集成Swagger
- RocketMQ事务消费和顺序消费详解
- junit可执行但控制层无法执行_解决junit5无法使用gradle test运行测试
- zynq processing system 参数设置_【正点原子FPGA连载】第六章自定义IP核-呼吸灯实验-领航者 ZYNQ 之嵌入式开发指南...
- OpenGL超级宝典 纹理(一)
- OriginPro 中文
- 如何获取filecoin_分析:如何捕获Filecoin的价值?
- Java培训学习之Java可视化开发工具:WindowBuilder
- 微信点餐小程序分析与开发
- 浅谈USART_RX_STA各位的描述以及是如何实现数据接收的
- 太白金星:我很关心分布式 Quorum NWR
- 今日金融词汇--- T+1,是什么?
热门文章
- iOS App跳转权限设置
- php运行出来一堆乱码,一堆乱码中找到的~_php
- java web 性能分析_web系统性能分析JavaMelody
- c语言输出居中对齐_PDF管理API-Aspose.PDF 11月新更上线!支持居中对齐输出HTML
- 左右声道测试音频_关于制作左右声道音频的剪辑软件推荐
- linux根文件系统配置,嵌入式Linux的Cramfs根文件系统配置的解决方案
- 值得推荐的C/C++框架和库 【强烈推荐】
- 脑源(brainsourcing)技术可以自动识别人类的偏好
- 录音降噪哪家强?搜狗西工大联合团队DNS挑战赛夺冠
- 数据不够,Waymo用GAN来凑:生成逼真相机图像,在仿真环境中训练无人车模型...