STM32F103系统时钟配置

发布者:幸福梦想最新更新时间:2018-06-26 来源: eefocus关键字:STM32F103  系统时钟配置 手机看文章 扫描二维码
随时随地手机看文章

STM32F103系统时钟配置

时钟树的理解确定分频倍频之后再做

  • STM32F103时钟树

F103时钟树

  • 假设外接晶振8MHz,现在需要配置出系统72MHz时,需要

配置代码(外部晶振8MHz配置系统时钟为72MHz)

/*RCC config*/

void RCC_Configuration(void)

{

    RCC_DeInit();  

    RCC_HSEConfig(RCC_HSE_ON);

    while(SUCCESS != RCC_WaitForHSEStartUp()){} 

    /*设置FLASH存储器延时时钟周期数*/

    FLASH_SetLatency(FLASH_Latency_2);    //FLASH_Latency_2  2延时周期 

    /*选择FLASH预取指缓存的模式*/ 

    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);     // 预取指缓存使能

    /*设置PLL时钟源及倍频系数*/  

    /* Fcpu = (PLL_src * PLL_MUL) = (8 Mhz / 1) * (9) = 72Mhz   */ 

    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);            

    /* Enable PLL */

    RCC_PLLCmd(ENABLE); 

     /*检查指定的RCC标志位(PLL准备好标志)设置与否*/    

    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {}

    /* Set system clock dividers */

    RCC_HCLKConfig(RCC_SYSCLK_Div1);

    RCC_PCLK2Config(RCC_HCLK_Div1);

    RCC_PCLK1Config(RCC_HCLK_Div2);

    RCC_ADCCLKConfig(RCC_PCLK2_Div6);   

    /* Embedded Flash Configuration */

    FLASH_SetLatency(FLASH_Latency_2);                           

    FLASH_HalfCycleAccessCmd(FLASH_HalfCycleAccess_Disable);

    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

    /*SYSCLK configuration*/

    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

}


/*NVIC config*/

void NVIC_Configuration(void)

{

    /* Configure and enable ADC interrupt */

    NVIC_SetVectorTable(NVIC_VectTab_FLASH,0);

    /* Configure the NVIC Preemption Priority Bits */

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

}


void bsp_init(void){

    RCC_Configuration();

    NVIC_Configuration();

    SysTick_Config(72000);   //1ms  

}


关键字:STM32F103  系统时钟配置 引用地址:STM32F103系统时钟配置

上一篇:学习stm32f103(二) 关于系统时钟
下一篇:如何在MDK中查看系统时钟配置(stm32编程技巧小记)

推荐阅读最新更新时间:2024-03-16 16:07

STM32F103时钟配置源码学习记录
本文记录下看完正点原子战舰版的时钟配置视频后的理解,仅用作备忘。 时钟的配置源码在文件system_stm32f10x.c中。程序先通过判断使用的f10芯片的种类,选择你要的系统时钟频率SYSCLK。我用的芯片系统频率最高为72Mhz,芯片容量为大容量型,所以预编译后选择的是SYSCLK_FREQ_72MHz 72000000。 下面这段代码在时钟配置中没什么用,只是在以后的程序中可以通过SystemCoreClock来读出系统时钟的频率。 下面代码通过宏定义来选择配置系统时钟的函数,上边函数定义了SYSCLK_FREQ_72MHz,所以程序执行void SetSysClockTo72(void
[单片机]
<font color='red'>STM32F103</font>的<font color='red'>时钟</font><font color='red'>配置</font>源码学习记录
ULN2003驱动28BYJ-48步进电机STM32F103寄存器版
电机1先逆时针旋转90度,再顺时针旋转90度。电机2逆时针旋转90度,再顺时针旋转90度 ◆硬件资源: 1,ULN2003驱动模块 2,28BYJ-48步进电机电机1: // IN4: PC9 d // IN3: PC8 c // IN2: PC7 b // IN1: PC6 a 3,28BYJ-48步进电机电机2: // IN4: PD11 d // IN3: PD10 c // IN2: PD9 b // IN1: PD8 a 单片机源程序如下: #include bjdj.h #include delay.h #define uint unsign
[单片机]
STM32f103的触摸屏的设置与使用
多功能采集显示平台的人机交互采用的触屏方案。 触屏功能主要是依赖电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、它的内表面也涂有一层涂层、在他们之间有许多细小的(小于 1/1000 英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在 X 和 Y 两个方向上产生信号,然后送触摸屏控制器。控制器侦测到这一接触并计算出(X,Y)的位置,再根据获得的位置模拟鼠标的方式运作。这就是电阻技术触摸屏的最基本的原理。 电
[单片机]
<font color='red'>STM32f103</font>的触摸屏的设置与使用
基于stm32f103ze+mpu9250通过官方DMP库串口输出角度
单片机源程序如下: #include stm32f10x.h #include stdio.h #include UART1.h #include systick.h // mpu9250 include files #include sys.h #include mpu9250.h #include mpuiic.h #include inv_mpu.h #include inv_mpu_dmp_motion_driver.h float Q0,Q1,Q2,Q3; // 欧拉角 u32 status2=0; void printf_init() //printf初始化 { GPIO_I
[单片机]
stm32f103系列引脚定义-功能图
  器件功能和配置(STM32F103xx增强型)   STM32F103xx增强型模块框架图   STM32F103xx增强型VFQFPN36管脚图   STM32F103xx增强型LQFP100管脚图   STM32F103xx增强型LQFP64管脚图   STM32F103xx增强型LQFP48管脚图   STM32F103xx增强型BGA100管脚图   STM32F103xx系列各个管脚名称定义、功能:
[单片机]
<font color='red'>stm32f103</font>系列引脚定义-功能图
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC输出电压
概述 本篇文章主要介绍如何使用 STM32 CubeMX移植到雅特力AT32F403AVGT7,并通过 DAC 输出电压,在 芯片 中有2个12位的DAC口可以供选择。 硬件 准备 首先需要准备一个开发板,这里我准备的是雅特力AT32F403AVGT7的开发板: 述 选择芯片型号 雅特力AT32F403AVGT7兼容STM32F103系列,故选取STM32f103VG进行开发。 配置 时钟 源 HSE与LSE分别为外部高速时钟和低速时钟,在本文中使用内置的时钟源,故都选择Disable选项,如下所示: 配置时钟树 雅特力AT32F403AVGT7最高频率到240M,但是STM32F1的最高主频到72M,同时使用不
[单片机]
STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容<font color='red'>STM32F103</font>VGT6),DAC输出电压
STM32F103C8T6单片机程序烧录教程
本次使用STM32F103C8T6型号单片机进行程序烧录演示,采用ST-Link方式烧录程序,程序烧录前确保已经安装好Keil MDK软件和ST-Link驱动。如没请在公众号菜单栏的软件获取Keil MDK软件和ST-Link驱动(在Keil MDK软件安装的最后部分有驱动安装教程)。PS:下图烧录器示意图的引脚与烧录器实物的引脚位置是不一样的,图片仅供参考。 1、硬件连接:其中烧录器的SWCLK接系统板的DCLK,烧录器的SWDIO接系统板的DIO,烧录器的GND连接系统板的GND,烧录器的3.3V接系统板的3.3。 2、打开程序。 3、在Keil MDK软件中设置ST-Link烧录程序方式:点击”Option
[单片机]
<font color='red'>STM32F103</font>C8T6单片机程序烧录教程
基于STM32F103的汽车远程防盗系统设计
引言 近几年,汽车偷盗案件越来越多,给人们带来巨大的经济损失。市场上随之出现了各种各样的汽车防盗器,本汽车防盗系统采用ST公司生产的STM32F103R6T6(以下简称STM32F103)单片机作为控制器,功能强大,实时性好。 1 系统结构与功能 汽车远程防盗系统是基于现代无线通信技术设计的,可以不受距离的约束,将汽车的状态信息直接发送到车主手机,进行一对一防盗报警,汽车远程防盗系统的结构如图1所示。 汽车防盗系统的信息采集模块包括人体感应传感器、振动传感器等,用来采集汽车警情信息。传感器将采集到警情信息,传送给微处理器处理,微处理器开始执行报警程序。首先,发送短信到车主手机;然后,报警器根据不同的警情
[汽车电子]
基于<font color='red'>STM32F103</font>的汽车远程防盗<font color='red'>系统</font>设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved