STM32f103时钟系统简介

2023-05-16

主要是讲解怎么看懂这个图。

一、内置RC振荡器(HSI RC)

频率是约为8MHz,因为其频率不是很稳定。其可作为系统时钟的一个选项。

二、晶振振荡器(HSE OSC)

从图中可以看到其是一个高速的外部时钟。一般接一个8MHz的晶振,这个晶振可以是4-16MHz这个范围,其可以作为选择器PLLXTPRE的输入,也可以两分频后作为选择器PLLXTPRE的输入,还可以作为系统时钟的一个时钟源。

三、PLLMUL

这是一个倍频器,从图中可以看到,它可以将频率乘以2-16,得到翻倍的频率。倍频器的频率也可以作为系统时钟的一个时钟源。而倍频器的来源从图中也可以看到,其来源为HSI RC的两分频、HSE OSC、HSE OSC的两分频。

四、系统时钟

系统时钟是整个系统中最重要的部分,由前面三个可以知道,系统时钟的三个来源。

五、CSS

CSS是一个时钟监控单元,由于HSE OSC是一个外部的晶振提供的,所以有不确定性,CSS就是起到监控作用,一旦检测到外部晶振不起振就将时钟源更换为HSI RC。

六、LSE OSC

是一个外接的低速时钟源,其作用是给RTC时钟。RTC时钟的来源还可以是HSE OSC的128分频以及LSR RC。

七、LSR RC

是一个低速的内部时钟,频率约为40kHZ,也不是很稳定。可以作为独立看门口狗的时钟。

八、MSO

作为时钟的输出引脚,该引脚为PA8。频率来自系统时钟或者HSI RC、HSE OSC、PLLMUL的两分频。

九、USBCLK

来源是PLLMUL经过USB预分频器得到,可以是1倍或者1.5倍。

十、AHB

是一个分频器,可将系统时钟进行1-512分频。AHB分频后可以得到HCLK。AHB分频后再经过APB1、APB2分频可以给其它的外设使用,具体的可以通过图看到。所以当我们在使用外设时需要使能相应总线的时钟。

typedef struct

{

  __IO uint32_t CR;        //使能HSI、HSE、CSS、PLLMUL

  __IO uint32_t CFGR;        //时钟源选择以及分频系数的设置

  __IO uint32_t CIR;        //清除/使能时钟就绪中断

  __IO uint32_t APB2RSTR;        //APB2总线上外设复位寄存器

  __IO uint32_t APB1RSTR;        //APB1总线上外设复位寄存器

  __IO uint32_t AHBENR;       //DMA、SDIO等时钟的使能

  __IO uint32_t APB2ENR;        //APB2总线上外设时钟的使能

  __IO uint32_t APB1ENR;        //APB1总线上外设时钟的使能

  __IO uint32_t BDCR;        //备份域控制寄存器

  __IO uint32_t CSR;        //控制状态寄存器

#ifdef STM32F10X_CL  

  __IO uint32_t AHBRSTR;

  __IO uint32_t CFGR2;

#endif /* STM32F10X_CL */

#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)   

  uint32_t RESERVED0;

  __IO uint32_t CFGR2;

#endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */

} RCC_TypeDef;


 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32f103时钟系统简介 的相关文章

  • 【stm32f103】认识GPIO

    认识GPIO 什么是GPIOGPIO基本结构保护二极管输出模式推挽输出开漏输出 输出数据寄存器 xff08 参考手册8 2 xff09 GPIOx ODRGPIOx BSRR 输入模式 GPIO工作模式输入模式 xff08 模拟 浮空 上拉
  • stm32f103-gpio源码理解

    提要 xff1a 参照野火的stm32f103开发指南 xff0c 对标准库的构造进行理解 xff1a xff08 1 xff09 使用结构体 xff0c 使用宏 xff0c 使用枚举 xff08 2 xff09 因为参数是可变的 xff0
  • STM32F103 72MHz时钟设置

    将系统时钟初始化到72MHz的函数 根据数据手册和库函数 xff0c 设置STM32时钟为72MHz 这是 c文件 span class token macro property span class token directive key
  • STM32F103系列PWM波

    话不多说 xff0c 直接上我能跑通的代码 pwm h span class token macro property span class token directive hash span span class token direct
  • keil5 STM32F103 下载程序出错Flash Download failed - "Cortex-M3"

    1 背景 STM32F103单片机无法下载程序 最近在使用STM32单片机做项目 先是使用的H743单片机 xff0c 现在需要使用到F103单片机 H7烧写程序正常 xff0c 但是无法对F103烧写程序 错误为 xff1a Error
  • stm32f103最小系统板详细介绍

    一 什么是单片机最小系统 常见的单片机最小系统为单片机能独立运行程序及控制外围电路的最简单电路 xff0c 主要由单片机 晶振电路 复位电路三部分构成 Stm32f103c8t6也不例外 xff0c 构成最小的运行电路也需要以上三部分 St
  • STM32F103系列NVIC中断优先级分组讲解

    一 简介 CM3内核支持256个中断 xff0c 16个内核中断 xff0c 240个外部中断 xff0c 并且拥有256级的可编程中断设置 但是STM32只用到了CM3内核的一部分 xff0c STM32有84个中断 xff0c 包括16
  • STM32F103最小系统板引脚定义

    STM32F103最小系统原理图 本人初学stm32 若有误解之处 还望大佬们指正改进 感谢 STM32F103各引脚定义 可前往 STM32F103xCDE 数据手册 英文 的第三章 Pinouts and pin description
  • STM32F103笔记(二)——GPIO原理

    GPIO的工作原理与两个实验实例 一 STM32F103 GPIO说明1 stm32 GPIO引脚的主要功能2 GPIO相关配置寄存器的简介3 STM32F103 GPIO的8种工作方式4种输入模式4种输出模式 二 点亮LED实例 xff0
  • FreeRTOS的源代码个人分析(基于KEIL下STM32F103的Demo) 四

    开始任务的实现分析 xff1a xPortStartScheduler 函数 FreeRTOS里开始任务是在main里调用vTaskStartScheduler函数来开始任务的 xff0c 在调用这个函数后 xff0c 系统会先自动的创建一
  • STM32f103时钟树详解

    一 概述 stm32有四种时钟信号源 xff0c HSE 高速外部时钟 HSI xff08 高速内部时钟 xff09 LSE xff08 低速外部时钟 xff09 LSI xff08 低速内部时钟 xff09 HSE通常接8M晶振 xff0
  • 基于STM32F103的智能门禁系统

    0 前言 本人大二软工菜鸟一枚 xff0c 大神不喜勿喷 1 功能演示 点这里功能演示 2 硬件选型 序号名称备注1STM32F103C8T6开发板用于主控2AS608指纹模块指纹解锁3RFID RC522射频模块刷卡解锁40 96寸四针O
  • RT-Thread Stm32f103开启UART2(中断接收及轮询发送) 使用RT-Thread Studio

    RT Thread Stm32f103开启UART2 使用RT Thread Studio 1 使用RT Thread Studio新建RT Thread项目 2 修改dricer gt doard h 增加UART2的宏定义设置gpio接
  • STM32F103 PB3,PB4,PA15,IO不可控问题

    STM32默认启动时PB4 PB3 PA15三个引脚不是普通IO xff0c 而是JTAG的复用功能 xff0c 分别为JNTRST JTDI JTDO 由上可以知要使PB3可以用 须关闭JTAG DP SW DP 可以不管 添加以下配置即
  • 拓展模块使用教程和心得(三):ULN2003模块与28BYJ48步进电机(测试平台:STC8A8K,STM32F103)

    成就更好的自己 关于ULN2003模块和对应的28BYJ48步进电机 xff0c 网上现有的资料与教程对于初学者有点不太友好 xff0c 造成的现象是仅仅只能让步进电机转起来 xff0c 但是没有对于控制转速和转角的实践分析 xff0c 本
  • 使用STM32F103做CAN的收发通信

    下面也是搭建嵌入式系统所必须的一个部分 参考网站 xff1a https www cnblogs com craigtao p 3645148 html https blog csdn net qq 29413829 article det
  • BH1750光强度传感器Stm32f103驱动(已测试ok)

    1 实验 Stm32f103 驱动 bh1750采集光照强度 串口打印采集到的数据 2 实验准备器材 开发版 stm32f103c8t6 器件 bh1750 GY 302 开发环境 win10 KILE4 下载程序的软件 FlyMcu ex
  • STM32配合火焰传感器的火灾报警

    实验材料 STM32F03 我这里用的是正点原子的战舰 火焰传感器 还有个蜂鸣器 我这个开发板自带 也是可外接的 火焰传感器介绍 工作原理 传感器模块在环境火焰光谱或者光源达不到设定阈值时 DO 口输出低电平 当外界环境火焰光谱或者光源超过
  • stm32f103 TIM2定时器4路PWM输出实验

    这里以TIM2为例 pwm c include pwm h uint16 t TIM2 CCR1 Val uint16 t TIM2 CCR2 Val uint16 t TIM2 CCR3 Val uint16 t TIM2 CCR4 Va
  • STM32F103移植FreeRTOS必须搞明白的系列知识---2(FreeRTOS任务优先级)

    STM32F103移植FreeRTOS必须搞明白的系列知识 1 Cortex CM3中断优先级 STM32F103移植FreeRTOS必须搞明白的系列知识 2 FreeRTOS任务优先级 STM32F103移植FreeRTOS必须搞明白的系

随机推荐

  • python中出现变量前后带下划线的是什么意思

    前后没有下划线的是公有方法 xff0c 前边有一个下划线的为私有方法或属性 xff0c 子类无法继承 xff0c 前边有两个下划线的 一般是为了避免于子类属性或者方法名冲突 xff0c 无法在外部直接访问 前后都有双下划线的为系统方法或属性
  • 普通程序员如何入门AI

    毫无疑问 xff0c 人工智能是目前整个互联网领域最火的行业 xff0c 随着AlphaGo战胜世界围棋冠军 xff0c 以及各种无人驾驶 智能家居项目的布道 xff0c 人们已经意识到了AI就是下一个风口 当然 xff0c 程序员是我见过
  • 扩展卡尔曼线性化近似与仿真

    扩展卡尔曼线性化近似与仿真 关于线性化直入主题 上例子小车运动方式 xff1a 沿着圆心在原点 半径为5的圆进行匀速圆周运动 xff0c 其角速度为w 即每次更新变化w个角度 仿真结果总结Matlab测试代码 xff08 EKF test
  • Ubuntu挂载硬盘

    Ubuntu挂载硬盘 1 查看磁盘信息命令 fdisk l 2 查看硬盘的UUID命令sudo blkid 3 mkdir创建挂载点WorkpaceP2和WorkpaceP2 4 永久性挂载分区 xff0c 修改分区文件 xff0c 输入如
  • FreeRTOS——创建任务

    FreeRTOS的设计小巧且简易 xff0c 整个核心代码只有3到4个C文件 xff0c 为了让代码容易阅读 移植和维护 xff0c 大部分的代码都是以C语言编写 xff0c 只有一些函数 xff08 多数是架构特定排班副程序 xff09
  • QT二次开发Kvaser

    前言 最近工作中需要自己去开发一个上位机 xff0c 上位机的通讯方式是CAN xff0c 利用Kvaser将CAN信息传递到上位机 xff0c 所以就需要二次开发Kvaser xff0c 保证上位机的正常通讯 原本是本着前人栽树 xff0
  • Ubuntu 安装ROS (解决rosdep init 失败)

    当前网络上有很多的ROS安装教程 xff0c 但是由于国内的网络问题 xff0c 所以在教程进行到rosdep init时 xff0c 会出现问题 xff0c 所以这篇博客主要解决这个问题 xff0c 以下为教程全部内容 xff1a 引用教
  • Ubuntu20.04部署编译LVI-SAM

    该动图来自LVI SAM开源地址 xff08 https github com TixiaoShan LVI SAM xff09 1 写在开头 1 1 为何诞生此文 近期在学习SLAM相关知识 xff0c 拜读了此篇经典论文LVI SAM
  • QT中的强制类型转换

    当使用C语言那种形式的强制转换 xff0c 发现QT会给出一个使用旧的方式的警告 所以在QT中使用如下类型转换 xff0c 就不会有警告 xff0c 而且这种方式的强制转换更加的安全 xff08 1 xff09 dynamic cast l
  • QT之QCharts的使用(绘制折线图)

    一 画折线图 1 修改 pro文件 在里面添加QT 43 61 charts 2 MyWidget h程序 ifndef MYWIDGET H define MYWIDGET H include lt QWidget gt 添加以下三个头文
  • 恢复经过软件处理过的U盘导致的U盘空间显示不正确等问题

    1 win 43 R xff0c 打开运行 xff0c 输入CMD xff0c 点击确定 2 在命令行中输入DISKPART并回车 xff0c 会跳出一个窗口 xff0c 这就进入了diskpart 3 在跳出的窗口diskpart 中输入
  • 关于STM32 CAN 发送失败问题解释

    首先解释一下CAN几个配置的功能 xff1a 1 CAN InitStruct CAN TTCM 61 DISABLE 这个只在某些CAN标准中使用 xff0c 就设置为DISABLE 2 CAN InitStruct CAN ABOM 6
  • VS2022调试vector无法显示详细信息

    使用vs2022调试vector发现这样的现象 xff1a 为了显示vector大小以及详细的元素 xff0c 需要编写natvis文件 span class token operator lt span span class token
  • STM32H7 PVD断电的使用

    1 遇到的问题 我使用的是STM32H747 xff0c 在初始化后发现断电后并没有进入中断 最后查找到因为STM32H747是双核CPU xff0c 在HAL库源码中 xff0c 有双核的宏定义将一些配置给屏蔽了 xff0c 因为我只用到
  • STM32H7A3 ADC+DMA使用问题

    问题1 xff1a DMA采用半字传输16位ADC值 xff0c 用于存储ADC数据的数组一定是采集数的两倍 xff0c 否则会产生ADC溢出的错误中断HAL ADC ErrorCallback xff0c 从而无法进入ADC采集完成中断H
  • STM32使用RTOS BootLoader跳转app进入异常中断问题

    一 问题描述 在boot中不使用RTOS xff0c 跳转到APP中 xff0c APP可以正常运行 但是boot中使用RTOS跳转到APP中 xff0c 程序配置完时钟后就会进入MemManage Handler错误中断 二 解决方法 1
  • STM32H7 SPI+DMA只发送一次,然后一直报busy的问题

    网上看了很多讲SPI 43 DMA问题的帖子 xff0c 有说必须发送DMA和接收DMA必须同时配置的 xff0c 有的说DMA发送前需要手动调用HAL SPI Abort函数的 首先我尝试的同时配置发送DMA和接收DMA xff0c 还是
  • STM32 EventRecorder printf不打印输出在调试窗口的问题解决

    一 添加event recorder到工程中 也可以自己移植源码到工程里面 xff0c 添加好后 xff0c 工程中会多出几个文件 xff0c 如下图所示 xff0c 我这是自己移植的源码到工程中的 xff0c 没有使用keil添加 二 初
  • linux只W25Q256驱动,使用m25p80,支持w25q系列nor flash

    1 内核编译选项增加 1 xff09 Device Drivers Memory Technology Device MTD support gt 2 Device Drivers Memory Technology Device MTD
  • STM32f103时钟系统简介

    主要是讲解怎么看懂这个图 一 内置RC振荡器 xff08 HSI RC xff09 频率是约为8MHz xff0c 因为其频率不是很稳定 其可作为系统时钟的一个选项 二 晶振振荡器 xff08 HSE OSC xff09 从图中可以看到其是