RCC寄存器结构,RCC_TypeDeff,在文件“stm32f10x.h”中定义如下:1059行->1081行。: typedef struct{vu32CR;//HSI,HSE,CSS,PLL等的使能vu32CFGR;//PLL等的时钟源选择以及分频系数设定vu32CIR;// 清除/使能 时钟就绪中断vu32APB2RSTR;//APB2线上外设复位寄存器vu32APB1RSTR;/
#ifdef是如果定义的意思,就是如果你定义的是STM32F10X_CL型号的单片机,这里就将RCC_CFGR寄存器设置为0xF8FF0000,否则就设置为0xF0FF0000,其实将这两个16进制值转化为2进制再与手册里的寄存器对照,就可以实现上 述的复位目标了。
#defineRCC_CIR ((uint32_t *)(RCC_BASE + 0x08)) #defineRCC_APB2RSTR ((uint32_t *)(RCC_BASE + 0x0C)) #defineRCC_APB1RSTR ((uint32_t *)(RCC_BASE + 0x10)) #defineRCC_AHBENR ((uint32_t *)(RCC_BASE + 0x14)) #defineRCC_APB2ENR ((uint32_t *)(RCC_BASE + 0x18))...
设置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); ...
LSI RC 可通过 RCC 时钟控制(因为是时钟控制的,就没有那么标准)和状态寄存器 (RCC_CSR) 中的 LSION 位打开或关闭。 RCC 时钟控制和状态寄存器 (RCC_CSR) 中的 LSIRDY 标志指示低速内部振荡器是否稳定。 在启动时,硬件将此位置 1 后,此时钟才可以使用。如在 RCC 时钟中断寄存器 (RCC_CIR) 中 使能中断,...
RCC的相关寄存器比较多,下面进行一一介绍。 时钟控制寄存器(RCC_CR) 图2 时钟控制寄存器(RCC_CR) 时钟配置寄存器(RCC_CFGR) 图3时钟配置寄存器(RCC_CFGR) 时钟中断寄存器 (RCC_CIR) 图4时钟中断寄存器 (RCC_CIR) APB2 外设复位寄存器 (RCC_APB2RSTR) ...
RCC->CIR = 0x00FF0000; /* Reset CFGR2 register */ RCC->CFGR2 = 0x00000000; #elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || (defined STM32F10X_HD_VL) /* Disable all interrupts and clear pending bits */ ...
例如,在RCC时钟中断寄存器(RCC_CIR)中使能中断,LSE就可以产生中断请求。 2、外部时钟(有源电路) 此时内部LSE振荡电路被旁路,必须提供外部时钟源,最高频率不超过lMHz。此模式通过将RCC备份域控制寄存器中的LSEBYP和LSEON位置l进行选择。外部时钟必须使用占空比约为50%的外部时钟信号(方波、正弦波或三角波)来驱动OSC...
LSE时钟信号才被释放出来.可以通过设置RCC_BDCR中的LSEON来启动和关闭LSE晶体.如果在RCC_CIR中允许产生...
RCC_CIR (RCC Clock Interrupt Register):用于管理时钟中断,包括内部和外部时钟源的错误检测和中断。 RCC_APB2RSTR (APB2 Peripheral Reset Register):用于重置 APB2 总线上的外设。 RCC_APB1RSTR (APB1 Peripheral Reset Register):用于重置 APB1 总线上的外设。