(一)看参考手册学stm32基于hal库,点灯时钟配置

(一)看参考手册学stm32基于hal库,点灯时钟配置

这篇文章主要是个人的学习经验,想分享出来供大家提供思路,如果其中有不足之处请批评指正哈。
废话不多说直接开始主题,本人是基于STM32F407VET6芯片,但是意在你看懂这篇文章后,不管是F1,F4,H7等一系列系统时钟配置都能明白如何通过参考手册去学习配置。而不是Ctrl c,Ctrl v。

时钟配置

首先看看数据手册目录找找有木有时钟相关的内容好定位。
数据手册图片
在这里插入图片描述
1.这句话就告诉你了你可以不用外部接时钟用它内部的就行,16 MHz内部RC振荡器在出厂时经过修整,在整个温度范围内提供1%的精度。他是这么说但是我不这么相信,主要是我的开发板上有一块8M的外部晶振,不用就浪费了。
在这里插入图片描述2.这就是外部晶振的频率要求,我就不翻译了。
在这里插入图片描述

3.看看我自己的开发板原理图,8M没问题
在这里插入图片描述

4.数据手册中告诉你了,APB,AHB总线的频率要求,一会我就会参照着他的要求设置cubemx的时钟树配置,是不是配置时钟有点思路了?
在这里插入图片描述几个预分频器允许配置三个AHB总线,即高速APB(APB2)和低速APB (APB1)域。三个AHB总线的最大频率为168 MHz,而高速APB域的最大频率为168 MHz,84 MHz。低速APB域允许的最大频率为42Mhz。该器件嵌入了一个专用的锁相环(PLLI2S),可实现音频级性能。在这种情况下,i2s主时钟可以产生从8khz到192khz的所有标准采样频率。

再看看定时器的时钟配置
在这里插入图片描述

在这里插入图片描述数据手册中还写到APB1线上的定时器84MHZ,APB1=42MHZ

在这里插入图片描述APB2线上的定时器168MHZ,APB2=84MHZ.
在这里插入图片描述CUBEMX时钟树的这几个数为什么知道由来了吧。

5.来到参考手册这看看相关时钟配置,你该想想如果是别的系列的芯片怎么看手册该怎么配置了?
在这里插入图片描述6.他说3个不同的时钟源,三种不同的时钟源可用于驱动系统时钟(SYSCLK):
•恒生指数振荡器时钟
•HSE振荡器时钟
•主锁相环(PLL)时钟
好看看cubemx
在这里插入图片描述还真是3个时钟源啊,只不过我用的主锁相环(PLL)时钟。其他时钟源还可以试试不会坏的,又不是VCC,GND。
在这里插入图片描述
7.设备有以下两个备用时钟源:
•32 kHz低速内部RC (LSI RC),驱动独立的看门狗,可选的RTC用于从停止/待机模式自动唤醒。
•32.768 kHz低速外部晶体(LSE晶体)可选驱动RTC时钟(RTCCLK)
本人用的外部时钟始终秉持着不用就浪费原则。
在这里插入图片描述在这里插入图片描述好好看看翻译,好好看看这几张图,思考一下你会豁然开朗的,因为每一块都是一一对应的关系。
在这里插入图片描述

9.这张抽象无比的时钟树真正关键的只有这几个小点,其他的我爱答不理。
在这里插入图片描述

配置cubemx

有了参考基础,接下来开始正式配置外部时钟

1.打开cubemx
在这里插入图片描述2.本人用的是f407,如果是不一样的芯片按自己的型号来
在这里插入图片描述3.上文也介绍了我不管是高速还是低速都用的是外部晶振,详见上文第3条第7条。
在这里插入图片描述4.cubemx时钟树需要根据你的选择如果是外部晶振,需要根据你的原理图去配置,我原理图是32.768K,8M所以本人根据此配置。
在这里插入图片描述5.再根据要求系统时钟(sysclk)不能超过180MHz,APB1<=42MHZ,APB1 CLOCK<=84MZ,APB2<=84MHZ,APB1 CLOCK<=168MZ满足以上要求即可,如图所示
在这里插入图片描述至此你应该明白了,噢原来时钟只要小于他的限幅频率即可,那我设多少都可以比如SYSCLK<=180,那我179,178,176.52,168无论是不是浮点数只要小于180都是可以的。至此外部晶振的工作已经完成。

内部源时钟配置

1.失能即可,即进入内部时钟源
在这里插入图片描述2.你会发现外部的时钟源那部分已经改不了了,其他内容配置同外部晶振配置
在这里插入图片描述
在这里插入图片描述
接下来怎么测试可行性呢?点个灯试试

F407按键点灯

经过测试不管是内部时钟还是外部时钟都没问题哈哈。
本文没有对点灯部分详细讲解,将会在下一篇文章中讲解物理知识以及hal库的使用,纯属个人经验,有不足之处希望大家指正

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

静态网页设计——个人图书馆(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1VN4y1q7cz/?vd_source5f425e0074a7f92921f53ab87712357b 源码&#xff1a;https://space.bilibili.co…

Java多线程并发篇----第一篇

系列文章目录 文章目录 系列文章目录前言一、JAVA 并发知识库二、Java中实现多线程有几种方法三、继承 Thread 类四、实现 Runnable 接口。前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了…

第12课 实现桌面与摄像头叠加

在上一节&#xff0c;我们实现了桌面捕获功能&#xff0c;并成功把桌面图像和麦克风声音发送给对方。在实际应用中&#xff0c;有时候会需要把桌面与摄像头图像叠加在一起发送&#xff0c;这节课我们就来看下如何实现这一功能。 1.备份与修改 备份demo11并修改demo11为demo12…

【产品人卫朋】硬件产品经理:从入门到精通

目录 本文目录 1. 前言说明 2. 内容说明 3. 资料包说明 作者简介 本文目录 1. 前言说明 2. 内容说明 3. 资料包说明 1. 前言说明 本篇内容节选自实体书《硬件产品经理&#xff1a;从入门到精通》。 2. 内容说明 鉴于硬件产品的特殊性&#xff0c;不同产品阶段的时间间…

Gin 项目引入热加载

Gin 项目引入热加载 文章目录 Gin 项目引入热加载一、什么是热加载二、Air2.1 介绍2.2 特性特性&#xff1a;2.3 相关文档2.4 安装推荐使用 install.sh使用 go install 2.5 配置环境变量2.6 使用 三、Fresh3.1 介绍3.2 相关文档3.3 安装与使用 四、bee4.1 介绍4.2 相关文档4.3 …

python统计分析——箱线图(plt.boxplot)

参考资料&#xff1a;用python动手学统计学 使用matplotlib.pyplot.boxplot()函数绘制箱线图 import numpy as np import pandas as pd from matplotlib import pyplot as pltdata_set1np.array([2,3,3,4,4,4,4,5,5,6]) data_set2np.array([[2,3,3,4,4,4,4,5,5,6],[5,6,6,7,7…

ssm基于WEB的文学网的设计与实现+vue论文

基于WEB的文学网的设计与实现 摘要 如今&#xff0c;科学技术的力量越来越强大&#xff0c;通过结合较为成熟的计算机技术&#xff0c;促进了学校、医疗、商城等许多行业领域的发展。为了顺应时代的变化&#xff0c;各行业结合互联网、人工智能等技术&#xff0c;纷纷开展了管…

CentOS 7.6下HTTP隧道代理的安全性考虑

在CentOS 7.6上配置HTTP隧道代理时&#xff0c;安全性是一个不可忽视的重要因素。以下是对HTTP隧道代理安全性的一些关键考虑因素&#xff1a; 1. 加密和数据安全 使用强加密算法&#xff1a;确保您使用的是经过广泛认可和强化的加密算法&#xff0c;如AES-256-GCM。数据完整…

STL容器之vector基本操作

目录 vector基本操作 vector构造函数 vector的遍历操作 1.重载[ ]进行遍历。 2.使用迭代器进行遍历。 3.使用范围for循环进行遍历。 4.使用at成员函数进行遍历 。 vector空间增长 1.size&#xff1a;获取当前元素的个数。 2.capacity&#xff1a;获取能存储的元素的个…

小型洗衣机什么牌子好又便宜?实用的小型洗衣机测评

随着近几年大家对于生活健康都有了更高的要求&#xff0c;迷你内衣裤洗衣机逐渐进入了大家的视野&#xff0c;并且在日常生活中所适用的人群也是比较的广泛。很多研究调查表明普通的手洗内衣裤没有办法完全清除细菌&#xff0c;而机洗能够去除绝大部分细菌。但是机洗对于洗衣机…

1.3号io网络

文件IO 1.文件IO是基于系统调用 2.程序每进行一次系统调用&#xff0c;就会从用户空间向内核空间进行一次切换&#xff0c;执行效率较慢 3.目的&#xff1a;由于后期进程间通信&#xff0c;如管道、套接字通信&#xff0c;都使用的是文件IO&#xff0c;所以引入文件IO操作的…

Docker安装Centos8系统

引言&#xff1a;最小安装版Centos8系统安装docker软件安装记录 官网安装教程&#xff1a;https://dockerdocs.cn/engine/install/centos/index.html 操作系统镜像版本 CentOS-Stream-8-x86_64-latest-boot.iso 第一步&#xff1a;更新yum yum -y update第二步&#xff1a;…

大模型学习之书生·浦语大模型2——趣味Demo

文章目录 Demo效果目录大模型及InternLM模型介绍InterLM-Chat-7B智能对话DemoLagent智能体工具调用Demo浦语灵笔图文创作理解Demo通用环境配置实践智能对话Demo1 创建开发机2 进入开发机并创建环境及安装依赖3 模型下载4 代码准备5 终端运行6 web demo运行 Lagent智能体工具调用…

静态关键字:static

static的作用 static是静态的意思&#xff0c;可以修饰成员变量和成员方法。 static修饰成员变量表示该成员变量只在内存中只存储一份&#xff0c;可以被共享访问、修改。 成员变量 分为2类 静态成员变量&#xff08;有static修饰&#xff0c;属于类&#xff0c;内存中加载…

INT201 形式语言与自动机笔记(上)

Lec1 Overview Alphabet and String 字母表与字符串 Alphabet&#xff08;字母表&#xff09; a finite, nonempty set ∑ of symbols. String (word) – a finite sequence of symbols from the alphabet e.g ∑ {a, b}, then abab, aaaabbba are strings on ∑ ε Em…

利用人工智能和机器人技术实现复杂的自动化任务!

这篇mylangrobot项目由neka-nat创建&#xff0c;本文已获得作者Shirokuma授权进行编辑和转载。 https://twitter.com/neka_nat GitHub-mylangrobot &#xff1a;GitHub - neka-nat/mylangrobot: Language instructions to mycobot using GPT-4V 引言 本项目创建了一个使用GPT-4…

Prometheus实战篇:Prometheus监控rabbitmq

Prometheus实战篇:Prometheus监控rabbitmq 准备环境 docker-compose安装rabbitmq 这里注意rabbitmq需要暴露2个端口 docker-compose.yaml version: 3 services:rabbitmq:image: rabbitmq:3.7.15-managementcontainer_name: rabbitmqrestart: alwaysvolumes:- /data/rabbitmq…

漏洞复现--金蝶云星空反序列化远程代码执行

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

ChatGPT,革新未来,颠覆你的智能想象!

大家好我是在看&#xff0c;记录普通人学习探索AI之路。 你是否曾渴望对话的边界无限拓宽&#xff1f;是否期待科技力量重塑生活日常&#xff1f;ChatGPT&#xff0c;就是那个引领时代潮流、解锁未来智能生活的关键钥匙&#xff01;它不仅仅是一个技术名词&#xff0c;更是新一…

看图识熊(四)

概述 人工智能已经快要进入应用的高峰期了&#xff0c;但并不需要每个人都学习算法、建模。对于程序员来说&#xff0c;应该先从自己会的方向入手&#xff0c;学习如何应用AI来解决问题&#xff0c;开发应用。 本文将带着大家动手&#xff0c;从头做一个看图识熊的应用&#…