GD32F303使用12M外部晶

文章讲述了在GD32F303微控制器项目中,如何从使用8MHz外部晶振转换为使用12MHz晶振的过程。这涉及到修改HXTAL_VALUE宏定义以适应12MHz频率,并调整PLLMF倍频系数以保持系统时钟的稳定。通过修改时钟配置寄存器RCU_CFG0和系统文件中的相关设置,成功实现了12MHz晶振的适配并达到了最大120MHz的主频需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

在GD32F303项上原来使用时8MHz的外部晶振,因公司需要把库存12MHz晶振消掉,需要把外部晶振改为12MHz。

时钟树分析:

 由时钟树可知外部晶振HXTAL范围为4-32MHz,经过PREDV0分频和PLLMF倍频后达到所需最大主频120MHz。

倍频和分频主要是由时钟配置寄存器0(RCU_CFG0)来控制

解决办法:

1、修改HXTAL_VALUE宏定义值(gd32f30x.h) 

 2、修改PLLMF倍频系数(system_gd32f30x.c)

验证结果:

 

### GD32F303开发环境搭建 #### 安装必要的软件工具 为了成功搭建GD32F303的开发环境,需要安装如下几种主要的开发工具: - **Keil MDK** 或 **IAR Embedded Workbench for ARM (EWARM)** 是常用的集成开发环境(IDE),其中Keil在国内应用更为广泛[^1]。 对于本指南而言,将以Keil为例介绍具体的设置过程。 #### 创建工程目录结构 创建一个新的文件夹用于保存整个工程项目,命名为`gd32f30x_project`。在此基础上进一步划分三个子文件夹来分别存储不同的资源文件: - `CMSIS`: 存放与CPU架构相关的头文件和支持库; - `Lib`: 放置由厂商提供的标准外设驱动程序库; - `App`: 用户自定义的应用层源码存放位置; 这些操作有助于保持项目的整洁有序,并便于后续维护管理。 #### 获取并导入所需库文件 从官方发布的固件包中找到对应版本的标准外设库(`gd32f10x_gpio.h`)以及其他必要组件,将其复制到之前建立好的相应文件夹下[^2]。 #### 配置Keil V5工程 启动Keil uVision IDE之后,通过菜单选项新建一个针对Cortex-M系列MCU的目标项目,在弹出的选择界面里挑选合适的设备型号(GD32F3xx)[^3]。接着依次完成以下几项重要设定: - 添加上述准备完毕的各种外部链接路径至预处理器搜索列表当中; - 将已下载下来的第三方函数库加入链接阶段; - 设置好启动地址以及堆栈大小等参数以适应具体应用场景需求。 最后一步就是编写简单的测试代码验证新构建起来的工作平台能否正常运作了——比如尝试实现最基本的LED灯闪烁功能作为初步检验手段之一。 ```c #include "gd32f30x.h" int main(void){ /* 初始化GPIO端口 */ while(1){ /* 控制LED状态切换逻辑 */ } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值