一、新建工程目录
对于STM32工程模板的建立是不固定的,通常根据项目需要和个人习惯有一些差异。通常来说,一个STM32工程可以采用以下结构建立文件夹目录
注解:
1.Start文件夹:用于存放核心文件和启动文件
2.Hardware文件夹:硬件设备的驱动文件
根据项目内容会各不相同。例如LED跑马灯工程,可在HARDWARE文件夹中新建LED文件夹,其中存放LED.h以及LED.c;MPU6050多轴姿态传感器,可在HARDWARE文件夹中新建MPU文件夹,其中存放MPU.h以及MPU.c
3.Objects文件夹:用于存放编译过程文件以及HEX文件。
在使用串口烧录程序时,需要使用该HEX文件。
4.Library:用于存放ST官方提供的标准库函数文件。其中inc文件夹存放头文件.h,src文件夹存放.c文件。
具体存放的内容更具项目有所不同,但是建议新手包含全部ST官方库函数。这些内容可以在ST官网下载。为了方便,我将在末尾提供完整的工程模板供下载,其中各文件已经补充完整。
5.USER:用于存放主函数文件和用户其他文件。
用户的主函数文件main.c、工程文件uvprojx(keil打开工程时的入口)文件存放在这里
二、建立keil工程
1.打开keil5, 点击Project->New uVision Project
2.选择到 工程名称->USER目录,命名该工程文件,然后点击保存
3.点击STMicroelectronics->STM32F1 Series->STM32F103->STM32F103C6, 在弹出的窗口中点击Cancel
若使用STM32F103C8系列芯片,在此选择STM32F103C8
3. 点击三个箱子图标,然后在Group栏点击新建图标,并按照图示创建各个group
4.点击USER,然后点击add files…找到USER文件夹中的main.c文件,然后点击add。
5.点击Library,然后点击add files…找到Library->src和Library->inc文件夹中的所有文件,然后点击add。
新手建议添加所有外围设备驱动文件,高手可以自行添加所需要的文件。
6.点击Start,然后点击add files…找到CORE文件夹中的startup_stm32f10x_ld.s文件和stm32f10x_conf.h,然后点击add。最后点击OK。
若使用STM32F103C8T6,需要改为startup_stm32f10x_md.s
7.点击魔术棒,点击output选项卡,更改Name of Executable为工程名称,勾选Create HEX File
9. 点击魔术棒,点击C/C++选项卡,在Define栏输入USE_STDPERIPH_DRIVER,STM32F10X_LD
若使用STM32F103C6T6, 输入STM32F10X_LD
若使用STM32F103C8T6, 输入STM32F10X_MD
当基于寄存器开发,不使用标准库的情况下,按照型号填写上述内容即可
当使用库函数开发时,需要再输入USE_STDPERIPH_DRIVER,通过英文逗号“,”隔开。例如STM32F10X_MD,USE_STDPERIPH_DRIVER
10. 点击Include Paths后边… 然后添加如下的路径
三、编辑main函数,然后点击rebuild
一定要在main函数中添加代码,最好写一个空的while函数,否则编译会报错。
在程序的结尾需要空出至少一行,否则编译可能会报错。
完整工程模板链接
STM32F103C6T6(基于寄存器开发)
STM32F103C6T6(基于标准库开发)
STM32F103C8T6
如果编译过程中有任何报错和警告欢迎评论留言。
更新于4/23/2024