打印

GD32E230的时钟系统配置详解

[复制链接]
1145|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
4c1l|  楼主 | 2025-2-21 21:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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就行,这时钟方面都不需要修改

使用特权

评论回复
5
q1ngt12| | 2025-4-2 16:18 | 只看该作者
时钟配置还算是简单的,而且有参考,并且有些不需要修改的

使用特权

评论回复
6
cen9ce| | 2025-4-2 20:35 | 只看该作者
E230的芯片是不是属于M23的啊?而且这个芯片是不是时钟与M3的配置不一样啊

使用特权

评论回复
7
lamanius| | 2025-4-2 21:06 | 只看该作者
GD的芯片还不错,例程写的都不错啊

使用特权

评论回复
8
kaif2n9j| | 2025-4-3 09:10 | 只看该作者
内部的HSI效果不行啊,我觉得速度不行的

使用特权

评论回复
9
ex7s4| | 2025-4-3 11:22 | 只看该作者
这个启动HSE稳定大致得用多久?

使用特权

评论回复
10
lix1yr| | 2025-4-3 13:17 | 只看该作者
还是多用HSE吧,稳定而且效果还不错

使用特权

评论回复
11
w2nme1ai7| | 2025-4-3 14:56 | 只看该作者
这个E230主频最高能达到多少?

使用特权

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

本版积分规则

60

主题

636

帖子

2

粉丝