时钟           

d用来输入数据,CLK就是我们的时钟,CPU1s中72000000HZ个时钟周期

STM32的时钟树

锁相环


HSE时钟源


HSI时钟源


LSE时钟源


LSI时钟源


SystemInit函数


SetSysClock函数


SetSysClockTo72函数


SystemInit()后时钟频率大小


总结


RCC标准库函数


定义变量a,判断其【n】是否为0

让a,第n位和1做位与,其他位和0做位与,判断按位与结果,

结果为0,[n] = 0

结果非0,[n] = 1


实战演练-掌控需求

LED位置

硬件设计

LED0软件实现

代码示例(时钟树配置):

main.c:

// main.c
#include "stm32f10x.h" 
#include "led.h"
#include "beep.h"
#include "system.h"// 时钟树配置
// 参数1:div	参数2:pllm
void RCC_HSE_Config(u32 div, u32 pllm){// 1.设置为默认值RCC_DeInit();// 2.打开HSE时钟RCC_HSEConfig(RCC_HSE_ON);// 3.等待HSE起振if(RCC_WaitForHSEStartUp() == SUCCESS){// 4.配置AHB  不分频RCC_HCLKConfig(RCC_SYSCLK_Div1);// 5.配置APB1 2分频RCC_PCLK1Config(RCC_HCLK_Div2);// 6.配置APB2 不分频RCC_PCLK2Config(RCC_HCLK_Div1);// 7.配置PLL时钟源:div 倍频系数:pllm//RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);RCC_PLLConfig(div,pllm);// 8.使能PLLRCC_PLLCmd(ENABLE);// 9.循环判断PLL是否生效while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);// 10.配置SYSCLK的时钟源为PLLRCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);}
}// 位带只是对输入/输出做优化,和初始化无关
int main(void){// 配置时钟树// pll时钟源:HSE 倍频系数:9 PLLCLK=SYSCLK=72MHzRCC_HSE_Config(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);// pll时钟源:HSE/2 倍频系数:9 PLLCLK=SYSCLK=36MHz//RCC_HSE_Config(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);// pll时钟源:HSE 倍频系数:9 PLLCLK=SYSCLK=128MHz// 长时间超频是不行的,系统不稳定//RCC_HSE_Config(RCC_PLLSource_HSE_Div1,RCC_PLLMul_16);// LED初始化LED_Init();BEEP_Init();while(1){// 循环开关灯 + 蜂鸣器LED0 = !LED0;// 1 - 0 - 1LED1 = !LED1;BEEP = !BEEP;delay(0xfffff);}
}  

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

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

相关文章

C语言---判断语句

文章目录1. if 语句2. if...else 语句3. if...else if...else 语句4. switch 语句5. 三元运算符 ( ? : )总结与对比如何选择C语言中的判断语句用于根据给定的条件来决定执行哪一段代码。其核心是条件为真(必须)则执行一段代码,条件为假&…

[硬件电路-212]:电流的本质确实是电子的移动

1. 微观机制:电子的定向漂移与热运动定向漂移(Drift Motion):在导体(如金属)中,自由电子(价电子)受电场驱动,从负端向正端定向移动,形成宏观电流。…

双RFSOC47DR-16通道5GSPS ADC采集模块

16通道5GSPS ADC采集板卡组成如图1所示。该板卡的输入接口为SMA单端输入,ADC采集和处理采用Xilinx公司的XCZU47DR-2FFVE1156I芯片。板卡需配备4路QSFP28光口输出,并需要集成网口、DDR4、SD卡、USB调试口。两块RF-Soc需确保连接通信功能。板卡的16通道需实…

pytest -- 中文文档

前言 零基础1小时快速入门pytest自动化测试教程,全套项目框架实战pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 非test文件 pytest里面有些文件是非test文件 pyt…

硬件开发2-ARM裸机开发3-IMX6ULL - 引入中断

一、铺垫引入中断 → 按键1、概要:实现按键控制发光二极管和蜂鸣器输入类型的外设:按键(key)2、参考手册内容完成配置过程(1)key 按键原理图(2)core 内核中命名 -- UART1 CTS&#x…

Ansible的 Playbook 模式详解

目录一、Playbook模式1.1 Playbook 的优势1.2 Playbook 的组成1.3 安装 httpd 服务案例1.4 Playbook 命令及常用参数1.5 Playbook 的语法 —— 权限相关1. remote_user2. become3. become_method1.6 Playbook 的通知与触发机制1. notify2. handlers3. 使用示例4. 使用场景1.6 P…

猿辅导Java后台开发面试题及参考答案

int 与 Integer 的区别是什么?若创建数量庞大的数字时使用 Integer,会对重复数字创建新对象吗?int 是 Java 中的基本数据类型,直接存储数值,占用 4 个字节,默认值为 0,不需要通过 new 关键字创建…

代码随想录学习摘抄day9(回溯1-11)

一个朴实无华的目录定义:回溯法也可以叫做回溯搜索法,它是一种搜索的方式。应用场景:回溯法解决的问题都可以抽象为树形结构代码模板题型第77题. 组合思路:每次从集合中选取元素,可选择的范围随着选择的进行而收缩&…

Altium Designer(AD24)打开工程文件的几种方法

🏡《专栏目录》 目录 1,概述 2,源文件 2,菜单栏 4,工具栏 5,注意事项 1,概述 本文介绍几种打开工程文件的方法。 2,源文件 找到工程的源文件存储路径,找到.PrjPcb的源工程文件,双击打开。 2,菜单栏 第1步:执行File→Open, 第2步:找到工程文件的存储路径,并选中…

Linux嵌入式自学笔记(基于野火EBF6ULL):2.点灯与ubuntu安装

一、点灯登录root:账号:root ; 密码:root点灯命令:echo 0 > /sys/class/leds/red/brightness #关闭red灯 echo 0 > /sys/class/leds/blue/brightness #关闭blue灯 echo 0 > /sys/class/leds/green/brightness …

【Java实战㊷】Java实战:MyBatis-Plus 开启MySQL数据库高效操作之旅

目录 一、MyBatis-Plus 环境集成 1.1 项目依赖引入 1.2 数据库配置 1.3 代码生成器使用 二、核心 CRUD 操作实现 2.1 基础查询 2.2 数据新增与修改 2.3 复杂查询场景 三、性能优化与高级特性 3.1 缓存配置 3.2 乐观锁实现 3.3 字段自动填充 四、实战案例:用户管理模块开发 4.1…

开学季干货——知识梳理与经验分享

技术文章大纲:开学季干货——知识梳理与经验分享目标受众分析明确文章面向的学生群体(如大学生、高中生) 分析不同群体的核心需求(课程准备、时间管理、工具使用) 结合技术场景(如数字笔记、在线协作&#…

Linux《线程(上)》

通过之前的学习我们已经了解了操作系统当中的基本的概念包括进程、基础IO、磁盘文件存储等,但是到目前为止我们还未了解到线程相关的概念,这就使得当前我们对操作系统的认知还不是完整的,现在我们是还是无法理解一个进程当中是如何同时的执行…

为什么知识复用时缺乏场景化指导影响实用性

知识复用时因缺乏场景化指导而严重影响实用性,其根本原因在于知识的价值本质上根植于其应用情境。脱离了场景的“纯知识”往往是抽象、片面且难以行动的。这导致了认知鸿沟的产生、隐性知识的流失、决策风险的增加、以及学习迁移效率的低下。当使用者面对一份缺乏“…

拥抱直觉与创造力:走进VibeCoding的新世界

引言 在传统观念里,编程是一项高度理性、逻辑严密的活动,开发者需要像建筑师一样,用代码一行行地精确构建数字世界。然而,随着人工智能技术的飞速发展,一种全新的编程理念和体验正在兴起——它就是 VibeCoding&#xf…

HTTP的Web服务测试在Python中的实现

在Web开发领域,对HTTP Web服务进行测试是确保服务稳定性和可靠性的关键步骤。Python作为一种功能强大的编程语言,提供了多种工具和库来简化这一过程。本文将介绍如何在Python中实现HTTP的Web服务测试。首先,Python的requests库是测试HTTP Web…

Android Studio 构建项目时 Gradle 下载失败的解决方案

一、问题原因分析根据错误日志:下载地址 https://services.gradle.org/distributions/gradle-8.1-bin.zip 连接超时(10秒)。可能原因:网络环境限制(如公司防火墙、地区网络屏蔽)。代理配置未生效或配置错误…

mysql 与 MongoDB 的分片

MySQL 和 MongoDB 作为不同类型数据库的代表(关系型 vs 文档型),其分片机制在设计理念、实现方式和适用场景上存在显著差异。两者的分片核心目标一致——通过水平扩展(Scale Out)解决单节点存储容量和性能瓶颈,但因数据模型、事务支持和分布式设计理念的不同,形成了截然…

Coze源码分析-资源库-创建知识库-前端源码-核心逻辑与接口

创建知识库逻辑 1. 表单验证系统 文件位置:frontend/packages/data/knowledge/knowledge-modal-base/src/create-knowledge-modal-v2/features/add-type-content/coze-knowledge/index.tsx 知识库创建表单的验证规则: // 知识库名称验证规则 const nameV…

欧拉函数 | 定义 / 性质 / 应用

注:本文为 “欧拉函数” 相关合辑。 略作重排,未整理去重。 如有内容异常,请看原文。 欧拉函数最全总结 jiet07 已于 2024-10-22 10:00:54 修改 一、欧拉函数的引入 首先引入互质关系: 如果两个正整数,除了 111 以…