* 举例:User_SetSysClock(RCC_PLLMul_9); 则设置系统时钟为:8MHZ * 9 = 72MHZ * HSE作为时钟来源,经过PLL倍频作为系统时钟,这是通常的做法 */ void HSE_SetSysClock(uint32_t pllmul) { __IO uint32_t HSEStartUpStatus = 0; // 把RCC外设初始化成复位状态 RCC_DeInit(); //使能HSE,开启外部...
voidHSE_SetSysClock(uint32_t pllmul) { __IO uint32_t StartUpCounter=0, HSEStartUpStatus =0;//把RCC外设初始化成复位状态RCC_DeInit();//使能HSE,开启外部晶振,RCC_HSEConfig(RCC_HSE_ON);//等待SHE启动稳定HSEStartUpStatus =RCC_WaitForHSEStartUp();//当HSE稳定之后继续往下执行if(HSEStartUpSt...
16.2.RCC框图剖析—时钟部分¶ 时钟树单纯讲理论的话会比较枯燥,如果选取一条主线,并辅以代码,先主后次讲解的话会很容易,而且记忆还更深刻。 我们这里选取库函数时钟系统时钟函数:SetSysClockTo72();以这个函数的编写流程来讲解时钟树, 这个函数也是我们用库的时候默认的系统时钟设置函数。 该函数的功能是利用HSE...
voidHSE_SetSysClock(uint32_tpllmul){__IOuint32_tHSEStartUpStatus=0;//复位RCC,将系统时钟复位RCC_DeInit();//使能HSE,开启外部晶振RCC_HSEConfig(RCC_HSE_ON);//等待HSE启动稳定HSEStartUpStatus=RCC_WaitForHSEStartUp();//启动稳定再继续向下执行if(HSEStartUpStatus==SUCCESS){//操作flash闪存FLASH_...
SYSCLK = 8M * RCC_PLLMul_x, x:[2,3,...16],最高是128M//HSE_SetSysClock(RCC_PLLMul_9);// 使用HSI时,SYSCLK = 4M * RCC_PLLMul_x, x:[2,3,...16],最高是64MHHSI_SetSysClock(RCC_PLLMul_16);// MCO 引脚初始化MCO_GPIO_Config();// 设置MCO引脚输出时钟,用示波器即可在PA8...
1、使用HSE时,SYSCLK = 8M * RCC_PLLMul_x, x:[2,3,。..16],最高是128M HSE_SetSysClock(uint32_t pllmul) 2、使用HSI时,SYSCLK = 4M * RCC_PLLMul_x, x:[2,3,。..16],最高是64MH HSI_SetSysClock(uint32_t pllmul) STM32HSIHSE ...
static void SetSysClock(void){ #ifdef SYSCLK_FREQ_HSE SetSysClockToHSE();#elif defined SYSCLK...
//设置 PLL 时钟源及倍频系数 RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_9);//使能或者...
函数调用举例:HSE_SetSysClock(RCC_PLLMul_9); 则设置系统时钟为:8MHZ * 9 = 72MHZ。 HSE_SetSysClock(RCC_PLLMul_16); 则设置系统时钟为:8MHZ * 16 = 128MHZ超频慎用。 1voidHSE_SetSysClock(uint32_t pllmul)2{3__IO uint32_t StartUpCounter=0,HSEStartUpStatus=0;45// 把 RCC 外设初始...