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;

最新文章

  1. Http TCP/IP 协议的关系
  2. Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- Messenger
  3. 在Salesforce中以PDF的格式显示对应的页面
  4. 网站实现特定某个地区访问执行跳转(js方法)
  5. Dynamic CRM 2013学习笔记(三)快速创建实体 EntityCreater
  6. RIP、OSPF、BGP、动态路由选路协议、自治域AS
  7. n阶乘 尾数0的个数
  8. Firefox 与 IE 对Javascript和CSS的区别
  9. 按要求编写一个Java应用程序: (1)定义一个类,描述一个矩形,包含有长、宽两种属性,和计算面积方法。 (2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性, 和计算体积的方法。 (3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、 宽、高,输出其底面积和体积。
  10. mongnodb 启动脚本
  11. 向Oracle数据库中CLOB插入数据报错问题
  12. ChartControl一个小Demo
  13. Hdu 1175 连连看(DFS)
  14. java输出万年历
  15. CentOS下编译安装Apache2(新)
  16. MariaDB日志审计 帮你揪出内个干坏事儿的小子
  17. 搞搞电脑微信表情的破解(.dat转png or jpg)
  18. vscode跳转到函数定义处
  19. ExecuteNonQuery方法、ExecuteScalar方法、ExecuteReader方法的区别
  20. Android 屏幕手势滑动中onFling()函数的技巧分析

热门文章

  1. C# Collection 排序
  2. HANA SQL备忘录
  3. Spark入门到精通--(第十节)环境搭建(ZooKeeper和kafka搭建)
  4. 爬虫中报 SSLError 错误
  5. 处理 Archlinux 报错
  6. 【托业】【全真题库】TEST2-语法题
  7. docker命令汇总
  8. MySQL 误删数据、误更新数据(update,delete忘加where条件)
  9. std::function 的使用说明
  10. 一般程序中的session