GD32f103系列外部晶振更改

news2024/11/26 22:30:20

 GD32f103系列的芯片现在基本很普通了,外部很多资料都是使用8MHz晶振为CPU提供主频。很多的时候由于项目的原因,外部晶振会更换不同的频率,有4MHz或者12Mhz的,因此需要在系统文件中做一些更改。

以8MHz晶振转12MHz晶振为例:

        第一步:gd32f10x.h 文件 63行处,将 #define HXTAL_VALUE    ((uint32_t)8000000)宏定义改为 #define HXTAL_VALUE    ((uint32_t)12000000)

        第二步:system_gd32f10x.c文件  756行 RCU_CFG0 |= RCU_PLL_MUL27; 改为 RCU_CFG0 |= RCU_PLL_MUL18;

        注意:8Mhz  -> 2分频 -> 4MHz -> 27倍频 ->108Mhz
                   12Mhz -> 2分频 -> 6MHz -> 18倍频 ->108Mhz

        其实仔细看看系统时钟树,一步步对照发现,若想CK_SYS(系统主频)配置为108MHz,后面的AHB、APB1、APB2等总线配置都是确定不变的,唯一改变的就是外部晶振HXTAL处到CK_SYS处这段。

        可以发现其中关键点

        PREDV0:作用就是晶振进来的频率是1分频(也就是不分频)还是2分频

        PLLSEL:作用就是选择PLL时钟来源,为0就是内部8MhzRC作为源,为1就是外部的这路

        PLLMF:作用就是锁相环倍频,也就是进到PLL里面时钟倍频多少

        CK_HXTAL:这个作用是外部晶振旁路频率,也只有打开使用或者关闭停用,若打开外部高速晶振频率是多少CK_SYS的频率就是多少

        SCS:这个很明显就是选择CK_SYS主频用哪一路,00用内部8MHzRC  10用PLL这边过来的  01用CK_HXTAL这边过来的

总结:配置一般 PREDV0就是2分频,若晶振为8MHz->4MHz,若想不分频也可以

        配置一般 SCS就是10  选择PLL这路

         配置一般 PLLSEL就是1,选择外部高速晶振

        配置一般PLLMF,这个就靠自己的小学算数了。

第三步:这步属于选择性的,下面是我自己使用keil5不需要设置都可以正常工作的

若不能正常工作,能设置就设一下,有人说是调试频率也有说就是外部晶振频率,通过XTAL就是外部晶振的意思,一般就是外部高速晶振的频率,如下图设为8MHz 

 基本完成上面的配置,估计也理解时钟来源以及配置,其他都是毛毛雨。

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

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

相关文章

Redis(三)存储原理与数据模型(hash冲突、渐进式rehash)

Redis系列文章 Redis(一)原理及基本命令(柔性数组) Redis(二)网络协议和异步方式(乐观锁&悲观锁) Redis(三)存储原理与数据模型(hash冲突、渐…

chatGPT指令大全可免费使用网站列表chatGPT4试用方案

指令列表 写作助理 👉 最常使用的 prompt,用于优化文本的语法、清晰度和简洁度,提高可读性。作为一名中文写作改进助理,你的任务是改进所提供文本的拼写、语法、清晰、简洁和整体可读性,同时分解长句,减少…

【CesiumJS入门】(7)绘制多段线(动态实时画线)

前言 鼠标左键添加点、右键完成绘制,单击右侧弹窗关闭按钮清空绘制。参考沙盒示例:Drawing on Terrain 直接上代码了 /** Date: 2023-07-12 18:47:18* LastEditors: ReBeX 420659880qq.com* LastEditTime: 2023-07-16 16:26:19* FilePath: \cesium-tyro-blog\s…

【动手学深度学习】--07.数值稳定性、模型初始化、激活函数

文章目录 数值稳定性、模型初始化、激活函数1.数值稳定性1.1举例1.2数值稳定性的常见两个问题1.3梯度爆炸1.4梯度消失1.5打破对称性 2.模型初始化2.1让训练更加稳定2.2权重初始化2.3Xavier初始 3.激活函数 数值稳定性、模型初始化、激活函数 学习视频:数值稳定性 …

vue3后台管理系统实现动态侧边导航菜单管理(ElementPlus组件)

记住 一级(el-sub-menu)的都是只是展示的 点击跳转的都是一级下的子级(el-menu-item) 完整展示 1:在登陆功能进行登陆 获取menu列表 注册路由表的时候 把文件进行创建好 因为注册的方法需要获取这个路径 整个router下的main product等等都要创建 //1:发送你的用户名和密码获…

Linux--进程终止

一、进程终止时,操作系统做了什么?? 释放进程申请的相关内核数据结构和对应的代码和数据 本质就是释放系统资源(最主要的资源是内存) 二、进程终止的常见方式? a.代码跑完,结果正确 b.代码跑完&…

【我的2023上半年总结】感谢CSDN:第一次100w+阅读,赚大了!

大家好,这里是程序员晚枫。 因为工作一般都是996的原因,今天是2023上半年少有的周六休息日,正好看到平台的#2023年中总结#活动,赶紧来分享一下这半年的自媒体收获~ 主要说一些开心的事情 1、CSDN CSDN账号👉Python…

MySQL的循环语句分析

1.while循环 复制 -- 设置mysql分隔符为//,也就意味着,当遇到下一个//时,整体执行SQL语句 DELIMITER //DROP PROCEDURE if EXISTS ‘test’; # 如果存在test存储过程则删除CREATE procedure test() # 创建无参存储过程,名称为testBEGIN DECLARE i I…

配置 Vite 的环境变量与模式 (.env mode)

目录 创建项目环境变量内建变量创建.env 文件定义变量HTML 环境变量替换 模式 创建项目 npm create vitelatest or yarn create vite or pnpm create vite 环境变量 Vite 在一个特殊的 import.meta.env 对象上暴露环境变量。 console.log(import.meta.env)内建变量 import.met…

关于chatGPT、AI绘画、AI提词器等AI工具国内如何使用

目前的AI潮流非常火热,OPENAI 出的CHATGPT可谓是目前大模型人工智能的代表,刚开始听说chatGPT可以写代码,写作,写方案,无所不能。还有AI绘画也很NB作为一个程序员,为了体验这些&…

python+pytest接口自动化之参数关联

目录 一. 参数关联场景 二. 脚本编写 1. 在用例中按顺序调用 2. 使用Fixture函数 三. 总结 什么是参数关联? 参数关联,也叫接口关联,即接口之间存在参数的联系或依赖。在完成某一功能业务时,有时需要按顺序请求多个接口&…

听GPT 讲K8s源代码--pkg(三)

在 Kubernetes 项目中,pkg/controller目录下的子目录通常包含控制器相关的代码和逻辑。控制器是 Kubernetes 中用于管理资源的核心组件之一。它们负责监控资源的状态,并确保其符合所定义的期望状态。下面是对这些子目录的一些常见作用的解释:…

JavaScript中数据类型

对象和原始值 ● 在JavaScript中,有两种主要类型的数据,要不是原始值,要不是对象; 7种原始数据类型 1.数字 浮点数用于小数和整数。let age 23; 2.字符串 一系列字符的序列,用于文本。let firstName “IT知识…

全网最全整理,Allure集成Jenkins自动化测试实战(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Allure插件安装 …

libbpf-bootstrap 开发指南:概念与如何安装

目录 概念 如何安装& 使用 git 地址 使用git clone 下载代码 安装依赖环境 安装libbpf 编译example 概念 libbpf-bootstrap 是一个项目,旨在帮助开发者快速启动和开发使用 eBPF (Extended Berkeley Packet Filter) 和 libbpf 的程序。eBPF 是一种可以在…

2023.07.16 学习周报

文章目录 摘要文献阅读1.题目2.问题3.介绍4.Problem definition5.Method5.1 Feature Extractor5.2 Synthetic Node Generation5.3 Edge Generator5.4 GNN Classifier5.5 Optimization Objective5.6 算法 6.实验6.1 数据集6.2 基线6.3 实验结果 7.结论 数学建模1.欧式距离2.切比…

0130 物理层1

目录 2.物理层 2.1通信基础 2.1部分习题 2.物理层 2.1通信基础 2.1部分习题 1.下列说法正确的是() A.信道与通信电路类似,一条可通信电路往往包含一个信道 B.调制是把模拟数据转换为数字信号的过程 C.信息传输速率是通信信道上每秒传…

SIP支持的传输协议

一、SIP支持的传输协议-UDP、TCP、TLS SIP是一个应用层的会话协议,与一般协议不同的是,SIP协议可以同时支持各种传输协议。 SIP支持UDP传输:UDP是一个无连接的协议,且不提供可靠性。在UDP上建立SIP连接存在不可靠性。 SIP…

【K210模块】使用UART模块发送和接收数据

官方案例链接 【K210模块】使用UART模块发送和接收数据 官方案例链接 一、代码部分1、添加转换句(1)字节data 转字符串① 添加了转换语句② 没有添加转换语句 (2)字符串str 转 字节data 2、三种方式的比较,K210发送到S…

图解Vit 2:Vision Transformer——视觉问题中的注意力机制

文章目录 Patch Embedding 回顾Seq2Seq中的attentionTransformer中的attention Patch Embedding 回顾 上节回顾 Seq2Seq中的attention 在Transformer之前的RNN,其实已经用到了注意力机制。Seq2Seq。 对于Original RNN,每个RNN的输入,都是对…