时钟总体设计
时钟源: 纯内部时钟源:CPU内部自动时钟,方便但不精准内外部时钟源:时钟产生振荡电路在CPU内部,但晶振在外部(通用)纯外部时钟源:CPU外部产生时钟,无需晶振,通过引脚输入到CPU内部PLL(锁相环电路):负责时钟倍频功能时钟通道与流向、分频完全独立的多个时钟:STM32含有多个相互独立的时钟。
时钟框图详解
总体配置2套独立时钟:HSx和LSx纯内部:HSI、LSI内外部:HSE、LSE纯外部:OSC_IN、OSC32_INPLL2个可选PLL源(PLLSRC控制)倍频可设置(PLLMUL控制)分频时钟节点名称:HSI、HSE、LSI、LSE、PLLCLK、SYSCLK、USBCLK、HCLK、FCLK、PCLK1、PCLK2、ADCCLK、RTCCLK、IWDGCLKsystick和MCORCC通过AHB时钟8分频后供给Cortex系统定时器的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex AHB时钟作为SysTick时钟。MCO即主时钟输出,为其他设备服务。时钟相关的寄存器:注意控制门、时钟节点等系统默认上电后用内部时钟,需编程切换内外部时钟。基地址查memory map图得到,然后配合偏移量得到寄存器地址。寄存器位一般有三种:状态位、开关位、设置值位 RCC_CR 0x40021000RCC_CFGR 0x40021004RCC_APB2RSTR 复位外设时钟RCC_AHBENR 外设时钟开关