GD32 时钟和晶振修改

芯片型号:gd32f470zi

库版本:GD32F4xx_Firmware_Library_V3.0.4

当需要修改外部晶振和主频时需要修改到以下几个地方

1.gd32f4xx.h

//此宏定义为我们实际使用的外部晶振频率,此处改为实际使用的25M

#define HXTAL_VALUE    ((uint32_t)25000000)

2.system_gd32f4xx.c

 #define __SYS_OSC_CLK     (__IRC16M)                /* main oscillator frequency */

改为:#define __SYS_OSC_CLK     (__HXTAL)                /* main oscillator frequency */

意思就是把主晶振频率改为使用外部高速晶振,即第一步修改使用的25M

3.system_gd32f4xx.c

 此处保留其中一个我们要使用的CPU主频和外部晶振频率对应的宏定义即可,其它注释掉

实际上代码会根据这个定义去选择对应的时钟初始化

至于初始化函数,官方已经写好了的,至此相关修改完毕 

### STM32 GD32 微控制器之间的时钟配置不同之处 #### 1. 外部晶振频率支持范围差异 STM32系列微控制器通常支持外部高速晶体(HSE)工作在4至26 MHz范围内,而GD32则扩展了这一范围到4至50 MHz[^1]。 对于内部高速RC振荡器(HSI),STM32默认出厂设置为8 MHz或16 MHz(具体取决于型号), 而GD32提供了一个更宽泛的选择区间,默认情况下可以是8 MHz、12 MHz 或者其他特定值依据具体的MCU型号。 #### 2. PLL (Phase-Locked Loop) 配置选项区别 PLL结构上两者存在细微差别。STM32允许通过预分频器(PREDIV)主倍频器(MUL)来调整PLL输出频率;相比之下,GD32不仅具备类似的参数设定方式, 还额外增加了输入源选择功能以及更为灵活的分数N合成模式(Fractional-N Mode). ```c // 设置PLL于STM32F4xx系列 RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); // 使用HSE作为PLL源并乘以9得到72MHz系统时钟 // 对应操作在GD32E5xx上的实现可能如下所示 rcu_osci_on(RCU_PLL); rcu_pllen(); rcu_pllconfig(RCU_PLLSRC_HXTAL, RCU_PLL_MUL9); // 同样使用HXTAL即外部晶振并通过九次倍增获得所需频率 ``` #### 3. LDO与DC-DC转换器的应用场景区分 部分高端STM32产品线集成了可选低功耗LDO稳压电路用于供电调节;然而,在某些高性能应用场景下(GD32特有特性之一),为了提高效率降低能耗,GD32提供了内置高效能DC-DC降压型开关电源管理单元供开发者选用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值