你了解你的GD32 MCU系统主频是多少吗 ?

news2024/9/23 6:28:31

系统时钟是GD32 MCU的时基,可以理解为系统的心跳,片上所有的外设以及CPU最原始的时钟都来自于系统时钟,因而明确当前系统时钟是多少非常重要,只有明确了系统时钟,才能够实现准确的定时、准确的采样间隔以及准确的通信速率等。

以GD32F303为例,其系统时钟配置在system_gd32f30x.c中,如下图所示,可以通过打开或者关闭相关的宏定义进行时钟配置,GD32以及提供了一些时钟配置的函数,可以通过宏定义开关进行选择。

确认当前系统时钟有以下两个方法:

1、软件方式确认

使用void SystemCoreClockUpdate(void)函数进行更新当前系统时钟SystemCoreClock,该函数为根据当前RCU模块寄存器配置以及外部晶振等相关宏定义进行计算,将计算的结果赋值给SystemCoreClock变量,因而调用该函数后,SystemCoreClock的值就是当前系统时钟的数值。

需要注意,如果外部晶振不是8M,则需要调整HXTAL的宏定义,否则可能会造成SystemCoreClock计算出错。

2、时钟输出确认

另外一种最直接最准确的方式,是将系统时钟通过CKOUT引脚输出,然后通过示波器进行查看,如下图所示,CK_SYS为系统时钟,将CKOUT0SEL配置为100,就可以将系统时钟输出到CK_OUT0引脚上,这样外部接示波器就可以查看当前系统时钟了。

另外也可以通过定时器或者通信频率来进行估算,希望大家在系统开发伊始有确认系统时钟的好习惯,避免由于系统时钟配置出错导致的隐藏问题。

更多GD32 MCU相关咨询:https://www.gd32bbs.com/

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

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

相关文章

【Git】(基础篇七)—— IntelliJIDEA集成Git

InteliJ IDEA集成Git 现在有很多的集成工具帮助我们写代码,使用这些工具可以帮助我们加速写代码,很多工具也可以集成git,使用图形工具管理git,相信了解了底层运行逻辑的你能够很快地上手使用这些工具,本文以InteliJ I…

嘉立创 | 将所有元件属性中间放置

单击元件属性,按鼠标右键,点击查找 点击查找全部,便选中了所有元件属性 点击布局--属性位置 便可以将属性位置改为中间

销量不振,却逆风提价,出尔反尔的宝马在作茧自缚吗?

撰稿|行星 来源|贝多财经 传统豪华汽车品牌宝马,宣布主动退出价格战。 近日,社交平台上有关宝马涨价的传闻不胫而走,引发众多网友关注。相关报道称,有业内人士在社交平台透露,因价格战导致门店亏损严重,…

Python怎样读取URL生成PDF

1. 安装依赖的exe 需要在这个网址,安装一个exe包,地址:https://wkhtmltopdf.org/ 进入网址后,点这个位置: 选择一个你的操作系统的下载链接: 安装后的exe文件: C:\Program Files\wkhtmltopdf…

C++ 栈( stack )学习

目录 1.栈 2.模拟栈 1.1.入栈( push ) 1.2.出栈( pop ) 1.3.获取栈顶元素( top ) 3.直接使用栈( stack ) 3.1.导入头文件并创建栈 3.2.栈的操作 3.2.1.入栈( push ) 3.2.2.出栈( pop ) 3.2.3.获取栈顶元素( top ) 3.2.4.获取栈中元素个数( size ) 3.2.5.判断栈是否…

【第9章】Spring Cloud之Nacos服务配置

文章目录 前言一、改造前二、服务配置1. 添加依赖2. bootstrap.properties3. Data Id 发布配置4. 项目启动 三、改造后四、更多配置项总结 前言 一、改造前 这是我们之前服务注册和发现时使用的两个服务,在application.yml定义了服务注册的一些配置信息 二、服务…

系统架构设计师①:计算机组成与体系结构

系统架构设计师①:计算机组成与体系结构 计算机结构 计算机的组成结构可以概括为以下几个主要部分:中央处理器(CPU)、存储器(包括主存和外存)、输入设备、输出设备,以及控制器、运算器、总线和…

STM32智能机器人控制系统教程

目录 引言环境准备智能机器人控制系统基础代码实现:实现智能机器人控制系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与导航系统实现 4.4 用户界面与数据可视化应用场景:机器人控制与优化问题解决方案与优化收尾与总结 1. 引言 智能机器人控…

js中的“?“/“??“以及“||“的详解(值得收藏)

前言 在JavaScript中,问号(?)通常用于三元运算符,而两个问号(??)则是空值合并运算符,用于在左侧操作数为null或undefined时,返回右侧的操作数。 1、?. (可选链运算符…

NCRE3 1-4 宽带接入技术的基本类型

提示,这一部分内容大多数是记的 xDSL数字用户线技术 分类 按照上行和下行的速率是否相同分类分为速率对称性,速率非对称性 相关缩写 ADSL( 非对称数字用户线) 利用普通电话业务(POTS)方式,提供告诉数字业务,允许保留已有的模拟电话业务的…

【c++】C++类和对象详解(下)

目录 思维导图大纲: const成员函数 取地址运算符重载 再探构造函数-初始化列表 隐式类型转换 c语言中我们了解: c中: 单参数 多参数 防止类型转换 static成员 友元 内部类 匿名对象 对象拷贝时的编译器优化 思维导图…

第11讲:变量的基本

变量的数据类型分为基本数据类型、行生数据类型还有POU实例名三种。 此处主要讨论一下基本数据类型。 基本数据类型的种类 基本数据类型的表示方法 1、布尔型、位串型、常数 2、整数型 (1)有符号整数型 SINT型,INT型,DINT型及LINT型,为有符号整数型,二进制表示的最高…

Aigtek:电压放大器的选型方法有哪些

电压放大器是电子电路中常见的元件,用于将输入电压信号放大到所需的水平。在选择适合特定应用的电压放大器时,需要考虑多个因素,包括性能要求、电源电压、带宽、噪声等。下面安泰电子将详细介绍电压放大器的选型方法,以帮助工程师…

【深入理解SpringCloud微服务】深入理解Eureka核心原理

深入理解Eureka核心原理 Eureka整体设计Eureka服务端启动Eureka三级缓存Eureka客户端启动 Eureka整体设计 Eureka是一个经典的注册中心,通过http接收客户端的服务发现和服务注册请求,使用内存注册表保存客户端注册上来的实例信息。 Eureka服务端接收的…

SQLite读取分析指南:新手也能轻松上手的实用教程

SQLite是一个轻量级的关系型数据库,目前已经更新到SQLite3版本。它不仅具有跨平台的特性而且占用的资源非常低,目标是设计来做嵌入式的。本教程将深入浅出地讲解图形化界面和python脚本来读取sqlite数据库这两种方法,从基础概念到实际应用,step by step地…

Windows定时任务实现关闭和开启声音

目录 1. 下载并放置 nircmd.exe1.1 下载 NirCmd:1.2 放置 nircmd.exe: 2. 定时关闭声音2.1 打开任务计划程序:2.2 创建基本任务:2.3 设置任务名称和描述:2.4 触发器:2.5 操作:2.6 设置程序或脚本…

新手小白的pytorch学习第十弹----多类别分类问题模型以及九、十弹的练习

目录 1 多类别分类模型1.1 创建数据1.2 创建模型1.3 模型传出的数据1.4 损失函数和优化器1.5 训练和测试1.6 衡量模型性能的指标 2 练习Exercise 之前我们已经学习了 二分类问题,二分类就像抛硬币正面和反面,只有两种情况。 这里我们要探讨一个 多类别…

专业护眼灯品牌有哪些?五款爆款护眼灯品牌推荐

在当今时代,电子设备在我们的日常生活中扮演着越来越重要的角色。然而,长时间使用这些设备可能会增加眼睛疲劳和近视的风险。为了解决这一问题,护眼台灯应运而生,并逐渐成为许多家庭和办公室的必需品。面对市场上琳琅满目的护眼台…

<数据集>苹果腐烂识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:978张 标注数量(xml文件个数):978 标注数量(txt文件个数):978 标注类别数:2 标注类别名称:[fresh_apple, rotten_apple] 序号类别名称图片数框数1fresh_apple520922…

排序算法与复杂度介绍

1. 排序算法 1.1 排序算法介绍 排序也成排序算法(Sort Algorithm),排序是将一组数据,依照指定的顺序进行排序的过程 1.2 排序的分类 1、内部排序: 指将需要处理的所有数据都加载到**内部存储器(内存&am…