前言​今天讲的是单片机使用外部晶振时怎么查看外部晶振经过分频和倍频最终输出的频率、该频率使用在计时器上的最终频率、以及进行相关程序修改下面以外部晶振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倍频处理所以输入的时钟源最终频率为120003.修改库文件库文件主要修改两个地方外部晶振以及输入时钟源频率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上传日志联系客服功能更新帮助中心效率指南