一、system_stm32f0xx.c 系统时钟设置文件,目录: Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c 1. 声明了系统时钟全局变量 uint32_t SystemCoreClock = 48000000; 2. SystemInit() ——系统初始化函数:初始化内部的Flash接口,PLL,并在最后调用SetSysClock()设置系统时钟为给予HSE的PLL。4 k6 o' o. @$ w# b 3. SystemCoreClockUpdate() —— 系统时钟更新函数,根据寄存器RCC->CFGR & RCC_CFGR_SWS的值,判断当前使用的系统时钟(HSI/HSE/PLL),更新系统时钟全局变量SystemCoreClock& V! p1 N) W, V 4. SetSysClock() —— 设置系统时钟的频率(启用外部HSE,然后启用PLL),如果HSE未起振,不初始化PLL,用系统默认时钟。(可以自己增加代码,比如用HSI作为PLL的时钟源实现倍频): v! f# G" ~/ w B5 H. ?' ~- I; x( H 二、starup_stm32f0xx.s 启动程序文件3 T( u* c Y/ s: W5 l' f2 o& U v6 }5 U 1. 定义了中断向量表:__vector_table& G) H) I0 h8 F& [, E o3 B 2. Reset_Handler:复位后,直接先调用SystemInit(),然后再执行__iar_program_start跳转% {5 T" f& M4 z+ k& I; m& f% i 3. 定义了其他中断执行的服务函数,具体的函数实现在stm32f0xx_it.c中,需自己添加内容 5 p( Y; r. U( S2 j0 x0 W 2.stm32f0xx_it.c 系统中断子函数文件;5 ^: z+ `' U# c' C0 a' r% v& L5 f 3.system_stm32f0xx.c 系统时钟设置文件; 4.systick.c 系统滴答子函数文件.8 C1 N, N2 }6 j - s8 i, L; `4 o. K1 O9 L |