STM32学习笔记(一)--时钟树详解

(1)时钟概述;时钟是具有周期性的脉冲信号,最常用的是占空比50%的方波。
(时钟相当于单片机的脉搏;STM32本身非常复杂,外设非常的多,为了保持低功耗工作STM32 的主控默认不开启这些外设功能。用户可以根据自己的需要决定 STM32 芯片要使用的功能,这个功能开关在STM32主控中也就是各个外设的时钟)

(2)时钟源;输入时钟源主要包括HSI、HSE、LSI、LSE。
2个外部时钟源:  HSE (High Speed External)152 高速外部振荡器
外接石英/陶瓷谐振器,频率为4MHz-16MHz。常用是8MHz
LSE (Low Speed External) 低速外部振荡器
外接32.768kHz石英晶体,主要作用于 RTC 的时钟源。
2个内部时钟源:  HSI(High Speed Internal) 高速内部振荡器
由内部RC振荡器产生,频率8MHz。
LSI(Low Speed Internal) 低速内部振荡器
由内部RC振荡器产生,频率40kHz,可作独立看门狗时钟源。

上图是STM32F103ZET6的时钟树图 请具体问题具体分析

A:表示其它电路需要的输入指定的源时钟信号以及可选的信号
往左边看为外部引脚OSC_IN(PD0)、OSC_OUT(PD1)、OSC32_IN(PC14)、OSC32_OUT(PC15)、MCO(PA8 用来可选主时钟输出)具体可查引脚图

B:锁相环,为一个特殊的振荡电路“PLL”其PLLSRC为选择输入时钟源(选择外部还是内部高速时钟输入)、PLLMUL为PLL倍频系数(*2~*16)、PLLCLK为高速的倍频时钟(简而言之可以使其信号放大做效为了达到72MHZmax的效果)。

C:为我们重点需要关注的MCU内的主系统时钟“SYSCLK”;AHB也可以理解成HCLK预分频器将 SYSCLK分频或不分频后分发给其它外设进行处理。

D:APB1总线时钟,由HCLK 经过标号E的低速APB1预分频器得到,分频因子可以选择 1,2,4,8,16,这里我们选择的是2分频,所以 APB1 总线时钟为 36M。由于 APB1 是低速总线 时钟,所以APB1总线最高频率为 36MHz,片上低速的外设就挂载在该总线上,例如有看门狗定时器、定时器 2/3/4/5/6/7(通用定时器最好都72MHZ)、RTC 时钟、USART2/3/4/5、SPI2(I2S2)与SPI3(I2S3)、I2C1与I2C2、CAN、USB 设备和2个DAC。

E:APB2 总线时钟,由 HCLK 经过标号 F 的高速 APB2 预分频器得到,分频因子可以选择 1,2,4,8,16,这里我们选择的是 1 即不分频,所以 APB2 总线时钟频率为 72M。与 APB2 高速总线链接的外设有外部中断与唤醒控制、7 个通用目的输入/输出口(PA、PB、PC、PD、PE、PF和 PG)、定时器 1、定时器 8(高级定时器最好都72MHZ)、SPI1、USART1、3 个 ADC 和内部温度传感器。其中标号 G 是ADC 的预分频器在后面 ADC 实验中详细说明不超过14MHZ一般都是除于6。

F:Cortex-M内核系统的时钟,FCLK为自由运行时钟,用来采样中断和调试模块计时,休眠依然有效;顺便讲述CSS为时钟安全系统,如果HSE外部告诉时钟启动失败,切换HSI,可进NIMI中断。

G:是STM32的时钟输出功能,用来可选主时钟输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景

utf8mb4_general_ci 和 utf8mb4_unicode_ci 是 MySQL 数据库中字符集和排序规则。用于指定字符数据的排序和比较规则,确保在数据库中对字符串进行查询和比较时得到正确的结果。 1、utf8mb4_general_ci 是一个较为简单的排序规则。不区分大小写(case-ins…

【Python】深入了解 AdaBoost:自适应提升算法

我们都找到天使了 说好了 心事不能偷藏着 什么都 一起做 幸福得 没话说 把坏脾气变成了好沟通 我们都找到天使了 约好了 负责对方的快乐 阳光下 的山坡 你素描 的以后 怎么抄袭我脑袋 想的 🎵 薛凯琪《找到天使了》 在机器学习的领域中&#x…

算法工程师 | 如何快速 了解,掌握一个算法!脚踏实地,迎着星辰,向前出发 ~

本文是一些碎碎念 希望对正在迈向 算法工程师道路的你 有所裨益 一般来说,代码 中会有很多 算法实现的细节,但论文可能并没有体现,所以能够尝试自己 仔细阅读论文,手动复现代码,基本上来说对 这个 算法 你有了全…

夏季城市环境卫生挑战多:TSINGSEE青犀智慧环卫方案助力城市垃圾站智能管理

一、背景分析 夏季,随着气温的攀升,城市垃圾的数量和种类也随之增加,这给环卫工作带来了极大的挑战。环卫垃圾站点作为城市垃圾处理的重要一环,其管理效率直接关系到城市环境的整洁与卫生。近年来,随着视频监控技术的…

【Redis】Redis常见问题——缓存更新/内存淘汰机制/缓存一致性

目录 回顾数据库的问题如何提高 mysql 能承担的并发量?缓存解决方案应对的场景 缓存更新问题定期生成如何定期统计定期生成的优缺点 实时生成maxmemory 设置成多少合适呢?项目类型上来说 新的问题 内存淘汰策略Redis淘汰策略为什么redis要内存淘汰内存淘…

ESP32 IDF ADF 加入音频

需要把mp3制作成音频bin 用ADF自带工具 果用户需要生成自己的 audio-esp.bin,则需要执行 mk_audio_bin.py 脚本(位于 $ADF_PATH/tools/audio_tone/mk_audio_tone.py),并且指定相关文件的路径。 源 MP3 文件在 tone_mp3_folder …

红黑树(C++)

文章目录 写在前面1. 红黑树的概念及性质1. 1 红黑树的概念1. 2 红黑树的性质 2. 红黑树节点的定义3. 红黑树的插入3.1 按照二叉搜索的树规则插入新节点3.2 检测新节点插入后,红黑树的性质是否造到破坏 4.红黑树的删除5.红黑树的验证6.源码 写在前面 在上篇文章中&…

MySQL中CAST和CONVERT函数都用于数据类型转换

在 MySQL 中,CAST() 和 CONVERT() 函数都用于数据类型转换。虽然这两个函数在大多数情况下可以互换使用,但它们之间还是有一些细微的差别。 官方文档地址 https://dev.mysql.com/doc/refman/8.4/en/cast-functions.html#function_cast CAST() 函数 C…

5.3.1_2 二叉树的层次遍历

👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…

ERNIE-Lite-8K模拟function calling的测试代码

ERNIE-Lite-8K目前免费。一般免费的东西功能都比较少,ERNIE-Lite-8K就不支持function calling。有一些办法可以通过提示词近似实现类似的效果。 今天,我通过系统提示的方式测试了ERNIE-Lite-8K,让它“调用”我实现的do_add函数,实…

Linux 基础IO 三

1.close 关闭之后&#xff0c;文件内部没有数据 #include<stdio.h> #include<string.h> //#include<unistd.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h>int main() {close(1);int fd open("log.txt", O…

c++模板模式

文章目录 模板模式什么是模板模式为什么使用模板模式模板模式实现步骤 示例模板模式优缺点 模板模式 什么是模板模式 模板模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;将某些步骤的具体实现延…

[DDR4] DDR 简史

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR4》 存和硬盘&#xff0c;这对电脑的左膀右臂&#xff0c;共同扛起了存储的重任。内存以其超凡的存取速度闻名&#xff0c;但一旦断电&#xff0c;内存中的数据也会消失。它就像我们的工作桌面&…

tokenization(二)子词切分方法

文章目录 概述BPE构建词表词元化代码实现 WordPieceUnigram估算概率&#xff08;E&#xff09;删除词元&#xff08;M&#xff09; 参考资料 概述 接上回&#xff0c;子词词元化&#xff08;Subwords tokenization&#xff09;是平衡字符级别和词级别的一种方法&#xff0c;也…

网络通信架构

BS架构/CS架构 使用协议分别对应&#xff1a; TCP / HTTP 在计算机网络和软件开发中&#xff0c;CS架构&#xff08;Client-Server Architecture&#xff0c;客户端-服务器架构&#xff09;和BS架构&#xff08;Browser-Server Architecture&#xff0c;浏览器-服务器架构&am…

云和运维(SRE)的半生缘-深读实证02

这个标题不算太夸张&#xff0c;云计算和很多IT岗位都有缘&#xff0c;但是和运维&#xff08;SRE&#xff09;岗位的缘分最深。 “深读实证”系列文章都会结合一些外部事件&#xff0c;点明分析《云计算行业进阶指南》书中的内容。本次分享介绍了下列内容&#xff1a; 我以运维…

Matlab电话按键拨号器设计

前言 这篇文章是目前最详细的 Matlab 电话按键拨号器设计开源教程。如果您在做课程设计或实验时需要参考本文章&#xff0c;请注意避免与他人重复&#xff0c;小心撞车。博主做这个也是因为实验所需&#xff0c;我在这方面只是初学者&#xff0c;但实际上&#xff0c;从完全不…

ffmpeg学习

学习视频 帧率 帧率也叫做帧频率&#xff0c;帧率是视频文件中每一秒的帧数&#xff0c;肉眼想看到连续移动图像至少需要15帧。 码率 比特率&#xff08;也叫码率&#xff0c;数据率&#xff09;是一个确定整体视频/音频质量的参数&#xff0c;秒为单位处理的字节数&#x…

USB2.0高速转接芯片CH347应用开发手册

CH347应用开发手册 V1.3 一、简介 CH347是一款USB2.0高速转接芯片&#xff0c;以实现USB-UART(HID串口/VCP串口)、USB-SPI、USB-I2C、USB-JTAG以及USB-GPIO等接口&#xff0c;分别包含在芯片的四种工作模式中。 CH347DLL用于为CH347芯片提供操作系统端的UART/SPI/I2C/JTAG/B…

测试开发工程师<职业规划方向>

测试开发工程师的职业规划 一、引言 测试开发工程师是软件开发团队中不可或缺的角色&#xff0c;他们负责确保软件的质量和稳定性。随着软件行业的快速发展&#xff0c;测试开发工程师的职业前景也越来越广阔。本文将详细探讨测试开发工程师的职业规划&#xff0c;包括可能的职…