一、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。# B0 ^/ J+ J ]: ` 3. SystemCoreClockUpdate() —— 系统时钟更新函数,根据寄存器RCC->CFGR & RCC_CFGR_SWS的值,判断当前使用的系统时钟(HSI/HSE/PLL),更新系统时钟全局变量SystemCoreClock 4. SetSysClock() —— 设置系统时钟的频率(启用外部HSE,然后启用PLL),如果HSE未起振,不初始化PLL,用系统默认时钟。(可以自己增加代码,比如用HSI作为PLL的时钟源实现倍频) # `1 S1 n, ^7 e, D+ H6 u, G! ]/ }4 @/ K2 A8 [ 二、starup_stm32f0xx.s 启动程序文件 1. 定义了中断向量表:__vector_table Z- `( v6 S3 q! I 2. Reset_Handler:复位后,直接先调用SystemInit(),然后再执行__iar_program_start跳转 a M" U. `# {5 k" }" U 3. 定义了其他中断执行的服务函数,具体的函数实现在stm32f0xx_it.c中,需自己添加内容 T5 Q6 P; f) i( Z5 ?' a9 G 9 L% L/ ?0 B* J1 K7 y% T 2.stm32f0xx_it.c 系统中断子函数文件; ' Z3 R3 z' j; x/ E6 D 3.system_stm32f0xx.c 系统时钟设置文件;/ [5 m t. X3 H: ` 4.systick.c 系统滴答子函数文件., ?# M/ B( S0 P: g" i6 }( v4 W 0 L+ d8 U9 A0 w" Q0 l& e! L |