https://blog.csdn.net/qq_29350001/article/details/81409693

这是个大佬讲的

F429有5个时钟源,HSI,HSE,LSI,LSE;PLL;

对于前四个来说:第一个字母为高低速

第三个字母为内部外部;

PLL为锁相环输出,速度也比较高

LSI可作为看门狗时钟,

RTC实时时钟源:LSI可以,但经常选择LSE,因为时钟要求精确且外部时钟源比较稳定,晶振为32.768。至于HSE也行,经过分频器可以将频率降下来作为时钟源。

如图,中间的/2到31就是分频器

SW系统时钟非常重要(SYSCLK):HSE可做系统时钟,HIS也可,也可通过PLL锁相环的/p输出,正常通过PALL输入,因为频率要求180,而另外两个频率较低,PLL可以倍频到180

PLL锁相环:HSE,HSI,通过选择器选择哪一个经过M分频作为PLL的输入,然后经过锁相环调节*n倍频在从3个中选择一个分频作为3个输出

MCO1:选择器,时钟选择器映射到PA8(应该是输出到PA8,输出4个时钟源,或提供同步信号,一种频率):HIS

右边的简单,APBx是外设;cortex是第一大定时器(系统定时器)

STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。

1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。

     ①、HSI是高速内部时钟,RC振荡器,频率为16MHz,精度不高。

可以直接作为系统时钟或者用作PLL时钟输入。
   ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时

钟源,频率范围为4MHz~26MHz。
   ③、LSI是低速内部时钟,RC振荡器,频率为32kHz,提供低功耗时

钟。主要供独立看 门狗和自动唤醒单元使用。
   ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。RTC
   ⑤、PLL为锁相环倍频输出。

n
PLL为锁相环倍频输出。STM32F4有三个PLL:

u  主PLL(PLL)由HSE或者HSI提供时钟信号,并具有两个不同的输出时钟。

①第一个输出PLLP用于生成高速的系统时钟(最高180MHz)

②第二个输出PLLQ为48M时钟,用于USB OTG
FS时钟,随机数

发生器的时钟和SDIO时钟。

u  第一个专用PLL(PLLI2S)生成精确时钟,在I2S和SAI1上实现高品质音频

N是用于PLLI2S vco的倍频系数,其取值范围是:192~432;

R是I2S时钟的分频系数,其取值范围是:2~7;

Q是SAI时钟分频系数,其取值范围是:2~15;P没用到。

u  第二个专用PLL(PLLSAI)同样用于生成精确时钟,用于SAI1输入时钟,同时还为LCD_TFT接口提供精确时钟。

N是用于PLLSAI vco的倍频系数,其取值范围是:192~432;

Q是SAI时钟分频系数,其取值范围是:2~15;

R是LTDC时钟的分频系数,其取值范围是:2~7;P没用到。

HSE通常是25MHZ

使用外设必须使能时钟,时钟配置在RCC里(RCC复位与时钟配置)

先有入口函数再有main函数

在F1和F4中系统时钟没有配,默认晶振

复位和时钟控制(RCC)
除了时钟控制寄存器CSR中的复位标志和备份域中的寄存器外,系统复位会将其他全部寄存器都复位为复位值。
复位,共有三种类型的复位,分别为系统复位、电源复位和备份域复位。

PWR是电源复位和时钟控制器

PWR_CR配置VOS,调压器

180:11+Over_drive

F4等待周期为6

一般APB1为PLL的4分之1;

APB2为2分之1,对应到F4为45与90;

STM32时钟的更多相关文章

  1. STM32时钟理解

    转载自 http://blog.sina.com.cn/s/blog_6ebd49350100q6xw.html STM32时钟理解 一.硬件上的连接问题 如果使用内部RC振荡器而不使用外部晶振,请按 ...

  2. stm32时钟配置总结

    stm32时钟配置时钟源: 1,HSE(高速外部时钟)即常见的外接8M晶振方案: 2,HSI(高速内部时钟) 即8M内部振荡时钟方案: 3,LSE(低速外部时钟)即常见的32.768Khz晶振方案: ...

  3. STM32入门系列-STM32时钟系统,STM32时钟树

    时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...

  4. STM32时钟系统的配置寄存器和源码分析

    一.时钟系统 概述 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令,时钟系统就是CPU的脉搏,决定cpu速率. STM32有多个时钟来源的选择,为什么 STM32 要有多个时钟源呢 ...

  5. STM32时钟系统配置程序源码深入分析

    一.分析程序的目的 最近我在移植实时系统是遇到了一些问题,所以决定深入了解系统时钟的配置过程,当然想要学好stm32的小伙伴也有必要学习好时钟系统的配置,所以我将学习的过程再次记录,有写得不好的地方, ...

  6. stm32时钟分析

    转载自http://blog.chinaunix.net/uid-21658993-id-3129667.html   在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. 其实是 ...

  7. STM32时钟系统

    一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率 ...

  8. stm32 时钟配置——外部时钟倍频、内部时钟倍频 【worldsing笔记】

    stm32可选的时钟源 在STM32中,可以用内部时钟,也可以用外部时钟,在要求进度高的应用场合最好用外部晶体震荡器,内部时钟存在一定的精度误差. 准确的来说有4个时钟源可以选分别是HSI.LSI.H ...

  9. 关于STM32时钟系统

    初学STM32,感觉最蛋疼的是它的时钟系统,每次看到它的那个时钟树就有点晕,虽然看了很多这方面的资料,甚至也已经写过很多STM32的模块代码,做过一些小项目,但一直还是对这一块模模糊糊,似懂非懂,所以 ...

随机推荐

  1. Gym 101606L - Lounge Lizards - [计算几何+LIS]

    题目链接:https://codeforces.com/gym/101606/problem/L 题解: 在同一条线上的所有蜥蜴,他们的斜率都是相通的,换句话说可以直接通过斜率将蜥蜴分组. 每一组即代 ...

  2. yii2安装与初始化

    yii2安装与初始化-Yii2学习笔记(一)   一.安装项目: 使用composer下载安装yii2 advanced安装包: composer create-project yiisoft/yii ...

  3. python中一个py文件如何调用其他py文件中的类和函数

    HelloWorld  文件名称  Hello是类 from HelloWorld import Hello >>> h = Hello() >>> h.hello ...

  4. MySQL 的安装

    MySQL的全部安装步骤. 1::本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 确认 ...

  5. 2018-2019-2 网络对抗技术 20165336 Exp1 PC平台逆向破解

    2018-2019-2 网络对抗技术 20165336 Exp1 PC平台逆向破解 1. 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常 ...

  6. vue 父组件给子组件传值,子组件给父组件传值

    父组件如何给子组件传值 使用props 举个例子: 子组件:fromTest.vue,父组件 app.vue fromTest.vue <template> <h2>{{tit ...

  7. luogu4643 [国家集训队]阿狸和桃子的游戏

    题目链接:洛谷 这道题乍一看非常的难,而且题目标题上的标签让人很害怕. 但其实这道题并不难写(只要想到了...emm) 因为我们只需要知道两个人得分之差,所以我们可以对条件进行变换. 我们将边权平分到 ...

  8. webpack4.27.1中遇到的错误

    1:ERROR in Entry module not found: Error: Can't resolve './src' 我在使用webpack命令时报错,这时因为我的配置文件有问题webpac ...

  9. 搭建MHA测试

    搭建MHA:  手工切换:  masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_maste ...

  10. Python3学习之路~7.4 动态导入模块

    动态导入模块就是只知道str类型的模块名字符串,通过这个字符串导入模块. 准备: 首先创建一个模块目录lib,然后在目录内创建一个模块 aa.py: # aa.pyclass C: def __ini ...