打印

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

[复制链接]
998|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
系统时钟是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方案商聚沃科技原创发布,了解更多GD32 MCU教程,关注聚沃科技官网,GD32MCU技术交流群:859440462

使用特权

评论回复
沙发
地瓜patch| | 2024-7-31 21:52 | 只看该作者
配成了多少?108M么

使用特权

评论回复
板凳
亚瑟| | 2024-7-31 21:59 | 只看该作者
pll是怎么把频率放大这么多倍的呢

使用特权

评论回复
地板
小小蚂蚁举千斤| | 2024-7-31 23:20 | 只看该作者
CPU最原始的时钟都来自于系统时钟

使用特权

评论回复
5
qn7a12| | 2024-8-31 11:28 | 只看该作者
在GD32F303 MCU中,系统时钟的配置通常在 system_gd32f30x.c 文件中进行。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

168

主题

188

帖子

5

粉丝