利用STM32CubeMX解读时钟树

发布者:闪耀的星空最新更新时间:2024-09-03 来源: elecfans关键字:STM32CubeMX  时钟树  IWDG 手机看文章 扫描二维码
随时随地手机看文章

88060392-8a5c-11ee-9788-92fbcf53809c.png

1,低速时钟

LSE是外部晶振作时钟源,主要提供给实时时钟模块,所以一般采用32.768KHz。LSI是由内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHz。(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及IWDG(独立看门狗)使用。


2,中速时钟

MSI RC是“中速内部时钟”或“中速内部振荡器”,是STM32L系列独有的时钟,RC表示这个时钟源是通过RC振荡器实现的,它可提供7种频率的时钟源,范围:65.636kHz~4194KHz。可以直接选择为SYSCLK(系统时钟)的时钟源,也可以作为MOC(时钟输出)的时钟源。


3,高速时钟

HSI RC是内部高速时钟,可以直接选择为系统时钟,可以作为PLL(锁相环倍频输出)的时钟源,还可以作为ADC,USART1,USART2,I2C1,I2C3,LPTIM(低功耗定时器),LPUART(低功耗串口)和MCO(主时钟输出)的时钟源,是最重要的时钟之一。


4,锁相环

PLL代表锁相环,在STM32中PLL可以被用于倍频或者分频SYSCLK(系统时钟),其倍数可以是外部高速晶振的倍数。


5,系统时钟

SYSCLK是系统时钟,由MSI,HSI和PLLCLK提供,是整个系统的核心,SYSCLK的频率直接影响整个系统的运行速度。


6,AHB系统总线

AHB高级高性能总线,这是一种“系统总线”。主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。AHB系统由主模块、从模块和基础结构3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。


7,HCLK主总线时钟

HCLK 是主总线时钟,由 SYSCLK 通过 AHB 分频器得到的,控制着主总线的时钟频率。HCLK驱动CPU核心、存储器(Flash和RAM)以及其他一些主总线上的外设。


8,FCLK自由运行时钟

FCLK是自由运行时钟,“自由”表现在它不来自系统时钟HCLK,在系统时钟停止时FCLK也继续运行。FCLK用作采样中断或者为调试模块计时。在处理器休眠时,通过FCLK可以采样到中断和跟踪休眠事件。Cortex-M内核的FCLK和HCLK互相同步、互相平衡,保证Cortex-M的延迟相同。


9,Cortex system timer

Cortex system timer是Cortex的系统时钟,常用作滴答定时器。


10,APB1和APB2

APB1 peripheral clocks与APB1 timer clocks分别是APB1的外设时钟和APB1的定时器时钟,同理,APB2 peripheral clocks与APB1 timer clocks分别是APB2的外设时钟和APB2的定时器时钟。那么APB1和APB2是什么呢?我们可以在数据手册上看到下面的方框图,图中介绍了各种外设的关系。比如APB1掌管TIM2,TM3,I2C3等。

88159a96-8a5c-11ee-9788-92fbcf53809c.png   

11,外设时钟

灰色部分的是因为STM32CubeMX没有激活该功能,激活后就会变成这样:

881d0452-8a5c-11ee-9788-92fbcf53809c.png

这些都是常见的外设,时钟来源也已经标注出来了,比如I2C1的时钟来源有PCLK1,HSI和SYSCLK。如下图:

8866f67a-8a5c-11ee-9788-92fbcf53809c.png   


关键字:STM32CubeMX  时钟树  IWDG 引用地址:利用STM32CubeMX解读时钟树

上一篇:STM32单片机自动售货机系统设计
下一篇:基于STM32F103系统的FreeRTOS程序移植

推荐阅读最新更新时间:2024-11-12 11:10

STM32CubeMx(Keil5)开发之路——3发送USART数据和printf重定向
运行环境 Windows10 STM32CubeMX___Version 5.0.0 Keil5(MDK5)___Version 5.15 简介 本例程主要讲解如何通过串口发送数据和重定向printf STM32CubeMx基本配置 基础配置过程请参考 STM32CubeMx(Keil5)开发之路—1配置第一个项目 STM32CubeMx USART1配置 1——点击USART1进行设置 2——模式选择Asynchronous异步传输 3——可以看到右边自动出现了Tx和Rx 4——可以自行设置波特率,停止位,校验位等参数 代码修改 1——选择main.c文件 2——在USER CODE中添加如下代码,重定向print
[单片机]
<font color='red'>STM32CubeMx</font>(Keil5)开发之路——3发送USART数据和printf重定向
STM32CubeMX学习--(4)CAN使用
CUBE配置 CAN参数配置 配置引脚PD0 PD1为CAN功能。 在Connectivity- CAN1中勾选Master Mode。 在ParameterSettings中配置: NVIC Settings中勾选RX0中断 在NVIC中配置CAN1中断组为2 2 修改代码 添加bsp_can.c文件,代码如下: #include bsp_can.h #include main.h #define CAN1FIFO CAN_RX_FIFO0 #define CAN1FIF1 CAN_RX_FIFO1 CAN_TxHeaderTypeDef TxMeg; CAN_RxHeaderTypeDef RxMeg; vo
[单片机]
<font color='red'>STM32CubeMX</font>学习--(4)CAN使用
STM32CubeMX | 42 - 使用DMA2D加速显存数据传输
一、使用CPU搬运数据到显存 在上一篇文章中讲述了如何配置 LTDC 驱动 RGB 屏幕: STM32CubeMX | 41-使用LTDC驱动TFT-LCD屏幕(RGB屏)。 本节中我们接着上一节的实验,讲述如何使用 DMA2D 实现打点、画线、填充等函数,只需要单层全屏即可,修改LTDC层配置如下: 1. 编写lcd驱动头文件 创建lcd_rgb_ltdc_drv.h文件,存放关于操作LCD屏幕的一些宏定义配置和函数定义: #ifndef _LCD_RGB_LTDC_DRV_H_ #define _LCD_RGB_LTDC_DRV_H_ #include ltdc.h /** * @brief Window
[单片机]
<font color='red'>STM32CubeMX</font> | 42 - 使用DMA2D加速显存数据传输
STM32独立看门狗IWDG时限的确定
看门狗定时时限= IWDG_SetReload()的值 / 看门狗时钟频率 看门狗时钟频率=LSI(内部低速时钟)的频率(40KHz)/ 分频数 1.STM32 看门狗的 例子 IWDG的时限定为280微秒。这个时限可能会随着LSI(内部低速时钟)的频率漂移而产生微小的变化。 /* IWDG timeout equal to 280 ms (the timeout may varies due to LSI frequency dispersion) ------------------------------------------------------------- */ /* Enable write acces
[单片机]
STM32CubeMX:UART操作
UART共有三种操作方式,轮询方式、中断方式以及DMA方式。 芯片:STM32F103C8T6 应用管脚: 输出:PA0、PA1 USART1 配置界面 添加中断配置 添加DMA配置 代码应用 1.实现printf函数 /* USER CODE BEGIN 0 */ #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTO
[单片机]
<font color='red'>STM32CubeMX</font>:UART操作
STM32CubeMX HAL库串口+DMA数据发送不定长度数据接收
参考资料: 1、ST HAL库官网资料 2、https://blog.csdn.net/u014470361/article/details/79206352#comments 一、STM32CubeMX配置外部时钟 注意在进行外部时钟配置时,即“High Speed Clock”和“Low Speed Clock”需配置成“Crytal/Ceramic Resonator(低温/陶瓷谐振器)”不能配置为 BYASS Clock Source(时钟脉冲源) ,否则系统起不来。 二、SWD下载接口配置 如果用HAL库不进行SWD或JTAG配置,单片机只能进行下载一次程序,要进行第二次或更多次程序下载,需要按复位键(如
[单片机]
<font color='red'>STM32CubeMX</font> HAL库串口+DMA数据发送不定长度数据接收
STM32-时钟
学习一个硬件,首先要把它的时钟单元弄的清晰一点,这会有助于加快你的学习进度,一开始我也有点迷糊,感觉STM32的时钟系统挺复杂,挺难懂的,但是深入接触了之后,发现也是挺简单的,可能一开始没有仔细看的原因 时钟系统就相当于人类的心跳一样,它为整个硬件系统提供时钟周期,只有它的正常运行,系统或者说片上系统才能够正常的工作。 首先,应该找到时钟源,也就是心跳的发源地,STM32有4个时钟源,分别是内部高速时钟,内部低速始终,外部高速时钟,外部低速时钟,其中外部高速时钟和外部低速始终是由片外晶体振荡器提供的,片内的时钟系统由内部RC震荡器提供。下面贴上STM32的时钟树框图: 如果早期看不明白,也不用着急去弄明白了,等到使用的时候自然
[单片机]
STM32CubeMX系列教程 5.0版本环境开发——2.Uart串行通信功能
1.搭建一个基本工程: 具体请参考我的上一篇内容搭建:https://www.cnblogs.com/Engineer-Lai/p/10072673.html 2.Uart协议简要: 分为通俗描述和概念性描述 通俗描述: 1. 对于单片机入门的人来说,首先我们要明白 我们唯一可控的对象是IO口,IO有两种状态 0和1. 有两种操作读和写(请务必确认自己明白并可以操控,我们便可继续) 2.在确认第一点后,硬件协议存在的意义是什么:A对象 把N个数据遵照特定的规则传给 B对象.(这里数据的单位是字节,一个字节由8个位组成) 3.接下来就是如何传数据的问题了,我们只有0和1可以表示。所以我们必须制定一套双方都遵循的可行游戏规则。
[单片机]
<font color='red'>STM32CubeMX</font>系列教程 5.0版本环境开发——2.Uart串行通信功能
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved