4c1l 发表于 2025-2-21 21:28

GD32E230的时钟系统配置详解

GD32E230的时钟系统主要包括内部时钟(HSI)、外部晶振(HSE)和PLL(相位锁定环)。正确配置时钟源和时钟分频对于系统的稳定性和性能至关重要。以下是GD32E230时钟配置的简洁步骤:

1. 时钟源配置
内部时钟(HSI)
默认情况下,GD32E230启动时使用内部高速时钟(HSI),频率为8 MHz。
外部晶振(HSE)
如果使用外部晶振(HSE),则需要手动配置并启用外部时钟源。
配置步骤
c
复制
编辑
// 启用外部晶振 (HSE)
rcu_periph_clock_enable(RCPU_RCU_HSE);// 开启HSE时钟
while (RESET == rcu_flag_get(RCU_FLAG_HSERD)) { } // 等待HSE稳定

// 选择时钟源为HSE(外部晶振)
rcu_system_clock_source_select(RCU_SCS_HSE);
2. PLL配置
PLL(相位锁定环)用于通过外部时钟源(HSE或HSI)进行频率合成,提供更高的系统时钟。

配置PLL为HSE输入:
c
复制
编辑
// 配置PLL,HSE作为PLL源,倍频因子为6(假设你需要48MHz)
rcu_pll_config(RCU_PLLSRC_HSE_DIV1, RCU_PLL_MUL6);// 设置PLL源为HSE,倍频因子6
rcu_pll_enable();// 启用PLL
while (RESET == rcu_flag_get(RCPU_FLAG_PLLRDY)) { }// 等待PLL稳定
3. 系统时钟选择
配置完成后,需要选择PLL作为系统时钟源。

c
复制
编辑
// 设置系统时钟为PLL
rcu_system_clock_source_select(RCPU_SCS_PLL);
while (rcu_system_clock_source_get() != RCPU_SCS_PLL) { }// 等待PLL稳定
4. 时钟分频
你可以通过配置APB1和APB2总线时钟分频来调整外设时钟。例如,APB1的时钟可以通过以下方式配置:

c
复制
编辑
// 配置APB1总线时钟分频为2(分频后时钟频率为系统时钟/2)
rcu_apb1_clock_div_config(RCPU_APB1_DIV2);
5. 配置时钟源和分频器的注意事项:
时钟源:选择内部时钟(HSI)或外部时钟(HSE)时,要确保源时钟稳定。
PLL倍频:确保PLL倍频值符合芯片的最大频率限制。
时钟分频:合理配置APB1、APB2的时钟分频,以确保外设时钟不超过最大工作频率。
示例:外部晶振HSE,PLL倍频,系统时钟配置为48 MHz
c
复制
编辑
void clock_config(void) {
    // 启用HSE
    rcu_periph_clock_enable(RCPU_RCPU_HSE);
    while (RESET == rcu_flag_get(RCPU_FLAG_HSERD)) {}

    // 配置PLL源为HSE,倍频因子为6
    rcu_pll_config(RCPU_PLLSRC_HSE_DIV1, RCPU_PLL_MUL6);
    rcpu_pll_enable();
    while (RESET == rcpu_flag_get(RCPU_FLAG_PLLRDY)) {}

    // 选择PLL作为系统时钟
    rcpu_system_clock_source_select(RCPU_SCS_PLL);
    while (rcpu_system_clock_source_get() != RCPU_SCS_PLL) {}
}
这样,你就能确保系统时钟工作在正确的频率下,且外设和总线时钟也能正确配置。

liu96jp 发表于 2025-4-2 12:31

这种就直接用官方的例程就好了,不需要自己配置啊

d1ng2x 发表于 2025-4-2 13:50

话说,GD是不是有自己的硬件初始化软件啊?

zhizia4f 发表于 2025-4-2 15:06

我的建议就是使用官方的SDK就行,这时钟方面都不需要修改

q1ngt12 发表于 2025-4-2 16:18

时钟配置还算是简单的,而且有参考,并且有些不需要修改的

cen9ce 发表于 2025-4-2 20:35

E230的芯片是不是属于M23的啊?而且这个芯片是不是时钟与M3的配置不一样啊

lamanius 发表于 2025-4-2 21:06

GD的芯片还不错,例程写的都不错啊

kaif2n9j 发表于 2025-4-3 09:10

内部的HSI效果不行啊,我觉得速度不行的

ex7s4 发表于 2025-4-3 11:22

这个启动HSE稳定大致得用多久?

lix1yr 发表于 2025-4-3 13:17

还是多用HSE吧,稳定而且效果还不错

w2nme1ai7 发表于 2025-4-3 14:56

这个E230主频最高能达到多少?
页: [1]
查看完整版本: GD32E230的时钟系统配置详解