| 
 
初级会员 
 
	积分94金钱94 注册时间2017-7-20在线时间26 小时 | 
 
| 我主要是通过修改system_stm32f10x.c中的代码来实现的。 首先原来的时钟是72Mhz他是由外部接的8M晶振的HSE时钟不分频{是通过设置时钟控制寄存器(RCC_CR)的第16位来使能HSE时钟,然后判断它的第17位是否为1来判断HSE时钟是否就绪,就绪后设置HCLK = SYSCLK}然后通过设置时钟配置寄存器RCC_CFGR的18到21位(PLLMULL
  LL时钟倍频系数)为9倍频作为系统的72Mhz时钟 
 我通过修改时钟配置寄存器RCC_CFGR的第17位为1是HSE由原来的8Mhz 2分频后变为4Mhz然后再设置时钟配置寄存器RCC_CFGR的18到21位(PLLMULL
  LL时钟倍频系数)为15倍频作为系统的60Mhz时钟 修改的代码如下:
 RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_HSE_Div2 | RCC_CFGR_PLLMULL15);
 把static void SetSysClockTo70(void)改为static void SetSysClockTo60(void)
 把#elif defined SYSCLK_FREQ_70MHz改为#elif defined SYSCLK_FREQ_60MHz
 在static void SetSysClock(void)中把#elif defined SYSCLK_FREQ_72MHz      SetSysClockTo72();改为#elif defined SYSCLK_FREQ_60MHz    SetSysClockTo60();
 
 然后在开头的条件编译中把#define SYSCLK_FREQ_72MHz  72000000注释掉然后加入#define SYSCLK_FREQ_60MHz  60000000就完成了。
 
 
 | 
 |