单片机芯片晶振修改​

前言​

今天讲的是单片机使用外部晶振时怎么查看外部晶振经过分频和倍频最终输出的频率、该频率使用在计时器上的最终频率、以及进行相关程序修改,下面以外部晶振12000为例进行讲解​

1.查看时钟树​

以N32G455为例,其时钟树为下图所示:​

我们要使用外部晶振怎需要选择路线处理路线为下图所示:​

HES_OSC分别经过了PLLHSEPRES、PLLSRC、PLLMULFCT、PLLCLK最终到达SYSCLK​

2.查看现有处理方案​

2.1使用仿真器进行debug,查看选择路线​

首先点击​

进入调试模式,找到函数​

,该函数进行晶振初始化,调试模式下在该函数后进行debug。​

2.2查看PLLHSEPRES、PLLSRC、PLLMULFCT、PLLCLK等设置。​

打开RCC配置如下图

如下图所示

PLLHSEPRES 为true;

PLLSRC 为true;

PLLMULFCT为0x00;

2.3查看RCC配置文件确定处理方案

详细内容如下

根据表上的具体含义进行选择

2.3.1.PLLHSEPRES 为true

外部晶振进行2分频处理

所以时钟树上外部晶振进入方向为,频率进行2分频处理,得到6000的频率。

2.3.2.PLLSRC 为true

选择外部晶振作为时钟源

所以时钟树走向

2.3.3.PLLMULFCT为0x00

进行2倍频处理

所以输入的时钟源最终频率为12000

3.修改库文件

库文件主要修改两个地方,外部晶振以及输入时钟源频率

3.1.外部晶振修改

库文件中的修改为使用的外部晶振

3.2.输入时钟源

库文件中的修改为最终的输入时钟源

4.查看定时器TIM输入频率

还在刚刚查看的RCC配置和时钟树里进行查看,通过时钟树可以看出,定时器TIM 2/3/4/5/6/7时钟来源都是APB1,定时器TIM 1/8时钟来源都是APB2,下面通过RCC配置来查看对应频率。

如下图所示,AHB、APB1、APB2均为0

查表所得上述均不进行分频处理,根据时钟树判断也不进行倍频,所以最终输入时钟源均为12000.

5.修改频率配置

如图所示,进行此项配置是通过对一个32位数进行修改,在函数SystemInit()中进行位处理。

可以通过计算机进行位解析,方便进行修改,如下图

评论(0)

  • 上传日志

  • 联系客服

  • 功能更新

  • 帮助中心

  • 效率指南