设置APB 2时钟 (APB2) : RCC_PCLK2Config(RCC_HCLK_Div1); 设置APB1 时钟 (APB1) : RCC_PCLK1Config(RCC_HCLK_Div2); 设置PLL : RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 打开PLL : RCC_PLLCmd(ENABLE); 等待PLL 工作: while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); ...
#ifdef是如果定义的意思,就是如果你定义的是STM32F10X_CL型号的单片机,这里就将RCC_CFGR寄存器设置为0xF8FF0000,否则就设置为0xF0FF0000,其实将这两个16进制值转化为2进制再与手册里的寄存器对照,就可以实现上 述的复位目标了。
设置APB 2时钟(APB2):RCC_PCLK2Config(RCC_HCLK_Div1); 设置APB1时钟(APB1):RCC_PCLK1Config(RCC_HCLK_Div2); 设置PLL:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 打开PLL:RCC_PLLCmd(ENABLE); 等待PLL工作:while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); 设置系统时钟:RCC_SYS...
设置APB 2时钟 (APB2) : RCC_PCLK2Config(RCC_HCLK_Div1); 设置APB1 时钟 (APB1) : RCC_PCLK1Config(RCC_HCLK_Div2); 设置PLL : RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); 打开PLL : RCC_PLLCmd(ENABLE); 等待PLL 工作: while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); ...
第604行:复位RCC寄存器的CR寄存器。RCC->CR &=(uint32_t)0xFFFBFFFF;第604行:失能RCC寄存器的CIR寄存器,关闭所有中断。RCC->CIR = 0x00000000;这两行就不一一列举了。 第615行:SetSysClock();这个函数主要是配置AHB、AHB1、AHB2的时钟频率。鼠标放在SetSysClock上面右键选择Go To Defintion of SetSysClock。
2、时钟配置寄存器(RCC_CFGR):(复位值为0x0000 0000) 主要功能:系统时钟源切换及状态,AHB、APB1、APB2、ADC、USB预分频,PLL输入时钟源选择及HSE输入PLL分频选择,PLL倍频系数,MCO(PA8)引脚微控制器时钟输出。 3、时钟中断寄存器 (RCC_CIR):(复位值: 0x0000 0000) ...
RCC的相关寄存器比较多,下面进行一一介绍。 时钟控制寄存器(RCC_CR) 图2 时钟控制寄存器(RCC_CR) 时钟配置寄存器(RCC_CFGR) 图3时钟配置寄存器(RCC_CFGR) 时钟中断寄存器 (RCC_CIR) 图4时钟中断寄存器 (RCC_CIR) APB2 外设复位寄存器 (RCC_APB2RSTR) ...
RCC->CR &= (uint32_t)0xEBFFFFFF; /* Disable alls and clear pending bits */ RCC->CIR = 0x00FF0000; /* Reset CFGR2 register */ RCC->CFGR2 = 0x00000000; #elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) ...
3、时钟中断寄存器 (RCC_CIR):(复位值: 0x0000 0000)主要功能:LSI、LSE、HIS、HSE、PLL就绪中断...
RCC_CIR (RCC Clock Interrupt Register):用于管理时钟中断,包括内部和外部时钟源的错误检测和中断。 RCC_APB2RSTR (APB2 Peripheral Reset Register):用于重置 APB2 总线上的外设。 RCC_APB1RSTR (APB1 Peripheral Reset Register):用于重置 APB1 总线上的外设。