C语言12M晶振,STM32将12M晶振换8M晶振后Keil及程序的相关设置

外部从12M晶振换8M晶振,如果还想是72MHZ时钟,只需要改三个地方:

首先:stm32f10x.h和system_gd32f10x.c文件可以通过下图找到

14a8dfb4996af2bd46fe9063f43c421d.png/>

1、stm32f10x.h中,将#define HSE_VALUE    ((uint32_t)12000000)改为#define HSE_VALUE   ((uint32_t)8000000)

在stm32f10x.h中,改后如下图

9b213c08f0921446d9d3674b66fd1e4d.png/>

2、system_gd32f1x0.c中,使用72M的那个宏,即改为如下:

//#define SYSCLK_FREQ_HSE    HSE_VALUE

//#define SYSCLK_FREQ_24MHz  24000000

//#define SYSCLK_FREQ_36MHz  36000000

//#define SYSCLK_FREQ_48MHz  48000000

//#define SYSCLK_FREQ_56MHz  56000000

#define SYSCLK_FREQ_72MHz  72000000

在stm32f10x.h文件中改后如下图数据

7e6b92f99b2773b933668aa480de963f.png/>

3、如果是在keil中调试下载,工程选项中修改如下,Xtal(MHz)标签旁从12.0改为8.0。

fbf4a8515d81d2ecf62e467d7db64f10.png/>

最后,一定要注意,在时钟配置的时候不要忘了改动倍频系数,在时钟初始化函数void RCC_Configuration(void)中,将 RCC_PLLMul_6改为RCC_PLLMul_9,即为:

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

当然,如果将8M改为12M或其他晶振,方法类似

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值