工程目录讲解:
组 USER 下面存放的主要是用户代码。 system_stm32f10x.c 里面主要是系统时钟初始化函数 SystemInit 相关的定义,一般情况下文件用户不需要修改。stm32f10x_it.c 里面存放的是部分中断服务函数。
组 HARDWARE 下面存放的是每个实验的外设驱动代码,他的实现是通过调用 FWLib下面的固件库文件实现的,比如 led.c 里面调用 stm32f10x_gpio.c 里面的函数对 led 进行初始化。
组 SYSTEM 是 ALIENTEK 提供的共用代码, 包含 Systick 延时函数, IO 口位带操作以及串口相关函数。
组 CORE 下面存放的是固件库必须的核心文件和启动文件。这里面的文件用户不需要修改。
组 FWLib 下面存放的是 ST 官方提供的外设驱动固件库文件,这些文件大家可以根据工程需要来添加和删除。每个 stm32f10x_ppp.c 源文件对应一个 stm32f10x_ppp.h 头文件。
从层次图中可以看出, 我们的用户代码和 HARDWARE 下面的外设驱动代码不需要直接操作寄存器,而是直接或间接操作官方提供的固件库函数。