USER文件夹:
main.c主要用来编写主体函数;
stm32f10x_it.c中主要用来定义中断服务函数;
System_stm32f10x主要用来定义SystemInit时钟初始化函数;
HARDWARE文件夹:
分组是外部硬件相关的驱动函数,每个.c源文件对应一个.h文件;
SYSTEM文件夹:
常见的公用代码,包括延时函数、IO口位函数以及串口相关函数。一般不需要修改即可在任意STM32f10x芯片上使用;
CORE文件夹:
分组用来存放固件库核心文件和启动文件,文件内容一般不需要修改。
FWLIB文件夹:
存放ST官方提供的外设固件库源文件和头文件,每个.c源文件对应一个.h文件。
明白了STM32工程文件的组成之后,其实我更换芯片,只需要更换STM32提供的那部分程序就可以了(CMSIS,driver,启动文件),自己写的逻辑代码不用换,只需要把调用的API函数改改就可以了。