GD32450i-EVAL学习笔记 9 - 时钟

该博客介绍了GD32F4xx系列微控制器的时钟配置选项,包括内部RC振荡器和外部高速晶体振荡器的不同设置,用于实现不同频率的系统时钟。默认配置为200MHz PLL,使用25MHz外部晶体。时钟配置后,通过rcu_clock_freq_get API函数可以获取系统、AHB、APB1和APB2的时钟频率。示例输出显示了各时钟频率的配置值。
摘要由CSDN通过智能技术生成

在文件system_gd32f4xx.c中有时钟配置好的选项:

//#define __SYSTEM_CLOCK_IRC16M                   (uint32_t)(__IRC16M)
//#define __SYSTEM_CLOCK_HXTAL                    (uint32_t)(__HXTAL)
//#define __SYSTEM_CLOCK_120M_PLL_IRC16M          (uint32_t)(120000000)
//#define __SYSTEM_CLOCK_120M_PLL_8M_HXTAL          (uint32_t)(120000000)
//#define __SYSTEM_CLOCK_120M_PLL_25M_HXTAL       (uint32_t)(120000000)
//#define __SYSTEM_CLOCK_168M_PLL_IRC16M          (uint32_t)(168000000)
//#define __SYSTEM_CLOCK_168M_PLL_8M_HXTAL        (uint32_t)(168000000)
//#define __SYSTEM_CLOCK_168M_PLL_25M_HXTAL       (uint32_t)(168000000)
//#define __SYSTEM_CLOCK_200M_PLL_IRC16M          (uint32_t)(200000000)
//#define __SYSTEM_CLOCK_200M_PLL_8M_HXTAL        (uint32_t)(200000000)
#define __SYSTEM_CLOCK_200M_PLL_25M_HXTAL         (uint32_t)(200000000)

含义依次为:

内部RC震荡器,16MHz系统时钟;

高速外部晶体器,以外部晶体的频率为准;

内部RC震荡器为源,120MHz系统时钟;

高速外部晶体器为源,8M晶体,120MHz系统时钟;

高速外部晶体器为源,25M晶体,120MHz系统时钟;

内部RC震荡器为源,168MHz系统时钟;

高速外部晶体器为源,8M晶体,168MHz系统时钟;

高速外部晶体器为源,25M晶体,168MHz系统时钟;

内部RC震荡器为源,200MHz系统时钟;

高速外部晶体器为源,8M晶体,200MHz系统时钟;

高速外部晶体器为源,25M晶体,200MHz系统时钟;

GD32450i-EVAL使用的默认配置是 __SYSTEM_CLOCK_200M_PLL_25M_HXTAL

时钟设定后可以通过api函数rcu_clock_freq_get得到各个时钟最终的配置值。

uint32_t rcu_clock_freq_get(rcu_clock_freq_enum clock)

参数列表及含义如下: 

CK_SYS: system clock frequency
CK_AHB: AHB clock frequency
CK_APB1: APB1 clock frequency
CK_APB2: APB2 clock frequency
Printf("system frequency:%dMHz\n", rcu_clock_freq_get(CK_SYS) / 1000000);
Printf("AHB frequency:%dMHz\n", rcu_clock_freq_get(CK_AHB) / 1000000);
Printf("APB1 frequency:%dMHz\n", rcu_clock_freq_get(CK_APB1) / 1000000);
Printf("APB2 frequency:%dMHz\n", rcu_clock_freq_get(CK_APB2) / 1000000);

 打印结果:

system frequency:200MHz
AHB frequency:200MHz
APB1 frequency:50MHz
APB2 frequency:100MHz

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值