修改gd32f305时钟

news2024/12/23 23:47:19

如题,移植GD32F305芯片驱动,修改时钟的方法。

硬件外部时钟为8MHz,官方demo文件为25MHz,基于此修改时钟配置。

1、选择system_gd32f30x.c并修改

如下图

1.1)注意查看 __HXTAL  的时钟是否为硬件电路对应的实际大小。

比如GD32F30x CL系列demo的时钟是25MHz,,你就需要手动改成8MHz(具体定义在gd32f30x.h文件中)。

 1.2)修改时钟配置,如system_clock_120m_hxtal函数

 如下是Cubemx的时钟配置图

 

结合Cubemx的时钟配置图来看,箭头所指的是开关配置项,这一点不需要改动。

圆圈所指的是分频和倍频项,需要修改。

Perdiv1是指HSE外部时钟送到PLL1的输入时钟,由于F305无法选择8*15的倍频,所以输入时钟要分频为4MHz,然后倍频30倍得到120MHz时钟。  --即Perdiv1要2分频,PllMul要30倍频。

再结合代码来看:

 下图是demo文件的原始配置

 下图是修改后的配置

代码逻辑是,先将寄存器RCU_CFG0清零,再置位,然后将寄存器RCU_CFG1清零再置位。

RCU_CFG0寄存器是先使能外部时钟,然后30倍频。

RCU_CFG1,由于demo文件是25MHz,由如下公式:CK_PREDIV0 = (CK_HXTAL)/5 *8 /10 = 4 MHz 得到输入时钟。改成8MHz,修改公式对应配置项为 CK_PREDIV0 = (CK_HXTAL)/16 *8 /1 = 4 MHz 即可。

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

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

相关文章

2023 华为 Datacom-HCIE 真题题库 11--含解析

单项选择题 1.[试题编号:190685] (单选题)通过iMasterNCE-Campus部署的虚拟化园区网络场景中,以下关于“添加设备”的描述中,错误的是哪一项? A、IMaster NCE-Campus支持通过设备角色添加设备 B、IMaster …

概率论:样本与总体分布,Z分数与概率

参考书目:《行为科学统计精要》(第八版)——弗雷德里克J格雷维特 数据及其样本的分布 描述一组数据分布 描述一组样本数据的分布 描述样本数据的均值和整体数据一样,但是样本标准差的公式除以了n-1,这里引入自由度的…

DAY05_Maven

目录 1 Maven1.1 Maven简介 2 Maven安装配置2.1 下载2.2 配置maven的环境变量2.3 MavenSetting.xml文件配置2.4 检测 3 Maven基本使用3.1 Maven常用命令3.2 Maven生命周期3.2.1 default 构建生命周期 4 IDEA配置Maven4.1 IDEA配置 Maven 环境4.2 Maven 坐标详解4.3 IDEA 创建 M…

优漫动游:ui设计面试问题及答案?

ui设计面试问题及答案?面试是每个大学生都会遇到的一种求职形式,尤其是对于一些不太了解面试的同学来说。那么面试中的问题究竟有哪些呢?这些问题到底有没有标准答案呢?本文优漫小编就来给大家分享一下关于UI设计面试中的几个问题…

Spring事务简介案例

文章目录 1.Spring事务简介2.案例3.步骤3.1 添加注解Transactional3.2 定义事务管理器3.3 EnableTransactionManagement开启事务驱动 1.Spring事务简介 可以在业务层上开的一种事务,开在业务层上的好处是,可以将业务层中方法里面所包含的数据层操作放到…

【学习心得】Linux下的Python虚拟环境搭建

问题描述:本文解决在Linux系统(Ubuntu举例)中如何实现Python的多版本以及搭建Python虚拟环境。 一、Linux系统中实现Python多版本 1、第一步:在官网中找到对应Python版本的tar压缩包的下载链接。 在历史版本中找到你想要的Pytho…

实验篇(7.2) 03. 部署物理实验环境(下)❀ 远程访问

【简介】考虑到有很多人初次接触FortiGate防火墙硬件,因此在讲解部署物理实验环境的时候,防火墙的初次登录内容介绍的比较多,以致于需要将文章分下、下二篇。下篇我们重点介绍服务器的配置及部署。 防火墙的接口规划 在部署服务器之前&#x…

基于MCGS嵌入版组态软件的船舶绝缘在线监测装置

关注acrelzxz,了解更多详细内容 摘要:针对船舶供电系统电缆的绝缘状态问题,设计了一款电缆绝缘在线监测装置。装置采用低频交流注入法,在IT系统的中心点注入低频的交流信号,通过取样电路和A/D量化检测注入信号在电路中的响应&…

加密与解密 调试篇 动态调试技术 (二)-常见断点

目录 常见的断点 1.INT 3 断点 检测 绕过 2.硬件断点 原理 我们给出硬件中断的例子 删除硬件断点 3.内存断点 原理 例子 删除 区别 总结 4.内存访问一次性断点 5.消息断点 例子 删除 6.条件断点 (1)按寄存器条件中断 (2&…

渠道投放数据建设

广告投放渠道识别方式 1、渠道包:每个渠道分配不同的渠道包,用户下载APP之后根据他下载的是哪个渠道包来识别渠道来源,比较常见于应用商店的投放。但是需要注意渠道包可能会导致作弊情况,例如用虚拟机下载渠道包来模拟下载数据等…

Linux介绍和vm17pro安装 和Centos以及vm简单操作

Linux 介绍 概述 linux 怎么读, 不下10 种linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c/php/python/java/go)都会部署到Linux/unix 系统上。常见的操作系统(windows、IOS、…

ChatGPT工作提效之使用百度地图在首都为六一儿童节献爱心(多边形覆盖物、文本标注、自动获取经纬度、爱心函数)

ChatGPT工作提效系列 ChatGPT工作提效之初探路径独孤九剑遇强则强ChatGPT工作提效之在程序开发中的巧劲和指令(创建MySQL语句、PHP语句、Javascript用法、python的交互)ChatGPT工作提效之生成开发需求和报价单并转为Excel格式ChatGPT工作提效之小鹅通二次开发批量API对接解决方…

浏览器跨域的配置

目录 1、前言 2、同源策略 3、跨源数据存储访问 4、浏览器跨域设置 4.1 版本号(49.x.x.x.x)之前的跨域设置 4.2 版本号(49.x.x.x.x)之后的跨域设置 5、批处理跨域设置 5.1 windows 操作系统。 5.2 Mac 操作系统 1、前言 …

STL库(1)

STL库(1) vectorvector介绍vector使用初始化元素访问内存扩容插入删除 listlist介绍初始化,元素访问插入删除元素 vector和list区别 vector vector介绍 vector是可以改变大小的数组的容器。其内存结构和数组一样,使用连续的存储…

我是如何精通软件工程的

软件工程是一个庞大且不断演化的领域,涉及许多创新。虽然如此,大多数技术 —— 如果不是全部 —— 在软件工程中往往最终汇聚为几个基本原则。工程师更好地掌握软件工程的方法是熟悉软件工程的基础知识,而不是那些不断变化的框架、语言或平台…

2023年Web服务器基准测试:NodeJS vs Java vs Rust vs Go

现在是2023年,是时候进行一次新的Web服务器基准测试了! 结果对我来说有些出乎意料! 一个Web服务器必须能够处理大量请求,尽管瓶颈在于IO。这次我决定比较最流行的、速度极快的现代框架的性能。 以下是有关实现细节的许多详细信息…

安装 vue-element-admin,安装报错解决

安装 vue-element-admin 克隆项目 git clone https://github.com/PanJiaChen/vue-element-admin.git //(英文的)git clone -b i18n https://github.com/PanJiaChen/vue-element-admin.git // 这个克隆出来是有中英文切换的进入项目目录 cd vue-element-admin建议不要用 cnpm…

chatgpt赋能python:Python交互编程入门指南

Python交互编程入门指南 Python是一种高级编程语言,适合初学者和专业人士使用。Python的互动式编程方式为开发人员提供了快速反馈的环境,从而实现更便捷和高效的开发过程。在本文中,我们将介绍Python的交互编程,为您提供Python编…

达梦数据库运维常用归档、sql日志、dexp与dimp操作

目录 一、归档文件配置... 3 二、sql⽇志的开启和关闭以及基本的操作... 3 三、执行计划... 5 四、工具和命令行数据库物理、逻辑备份,还原... 6 1、工具物理备份... 6 2、命令行联机备份... 8 3、命令行脱机备份... 8 4、工具物理还原... 8 5、命令行DMRM…

C++之动态分配new 删除delete 初始化memset

文章目录 1.动态分配 new1.引言2.new的实现 2.删除 delete3.初始化 memset 1.动态分配 new 1.引言 用new创建数组的优势:由于new创建的对象是在运行时确立的,所以有着具体情况具体分析的优点,那么什么叫做具体情况具体分析呢? 举…