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

系统时钟是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/

相关推荐
TEC_INO14 分钟前
stm32_1:FreeRTOS
单片机·嵌入式硬件
不能跑的代码不是好代码21 分钟前
STM32 标准外设库中关于 GPIO(通用输入输出) 模块的函数声明
stm32·单片机·嵌入式硬件
仰泳之鹅28 分钟前
【天气时钟】第一课:工程模板的搭建
单片机·嵌入式硬件
Moonquakes54035 分钟前
嵌入式开发基础学习笔记(LED实验C语言实现、蜂鸣器实验、SDK裸机驱动、链接脚本、BSP工程管理)
stm32·单片机·嵌入式硬件
思茂信息40 分钟前
CST仿真实例:手机Type-C接口ESD仿真
c语言·开发语言·单片机·嵌入式硬件·智能手机·cst·电磁仿真
梁洪飞42 分钟前
armv7 cache机制
linux·arm开发·嵌入式硬件·arm·memcache
我是海飞1 小时前
杰理 AC792N 使用 WebSocket 连接百度语音大模型,实现 AI 对话
c语言·单片机·嵌入式·ai对话·杰理·websockey
别掩1 小时前
光耦选型指南
单片机·嵌入式硬件
2023自学中1 小时前
嵌入式系统中的非易失性存储设备
linux·嵌入式硬件
czhaii13 小时前
MP3音乐播放器【FatFs+SD/TF卡+I2S-DAC】@STC32G144K246,实时解码MP3
单片机·硬件工程