一、环境 1.IDE开发环境::uVision V5.25.2.0; j; b) Q5 W' W0 S6 o* x 2.标准库:STM32F0xx_StdPeriph_Lib_V1.5.0 3.单片机:STM32F072RBT6# w- ^0 {0 N0 ^# ]) @1 i 4.仿真器:JLINK_OB : L5 ^# Y' H3 a 二、图文详解新建工程步骤 1.新建工程文件夹并命名,例如test。. Q/ I! C7 o9 D: k! N 2.打开工程文件夹test,在里面新建五个文件夹。8 E! k; c6 y9 W INC: 用于存放 .h头文件# c6 a5 x& Z% P; H SRE: 用于存放 .c 源文件 MDK: 用于存放工程文件* Q2 x* x+ t6 ` OUTPUT: 用于存放输出文件,例如bin文件和hex文件等 DOC: 用于存放工程文档说明,比如历史版本修改记录,通信协议等' |' l. f1 u( W . g$ P5 q! s( l 3.打开标准库文件,将Libraries文件夹复制到test工程文件夹下。 4.将标准库目录【STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates】下的main.h、stm32f0xx_it.h和stm32f0xx_conf.h头文件复制到刚刚新建的INC目录下。, h7 Y. j2 D' ]2 `2 n; k# J 5.将标准库目录【Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm】下的startup_stm32f070xb.s启动文件复制到刚刚新建的MDK目录下。 ' P3 v ` L- |3 i& t* o+ L1 g ##### 6.将标准库目录【STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates】下的main.c和stm32f0xx_it.c源文件复制到刚刚新建的SRE目录下。 , n/ A, U7 ^% Q" w 7.打开MDK5,点击新建工程。2 r1 O1 y! J5 c- Q4 E( u5 J m% @" ~0 Z0 a0 I 5 ]7 M$ ^: M/ [9 D7 i8 f 8.给工程命名并选择保存在MDK文件夹中。* J; \( w9 |6 x5 L 9.弹出的对话框选择对应芯片。 $ Q0 m% ?/ v3 x0 Z , \( v* I5 }! g8 G 10.点击OK之后,弹出的对话框直接叉掉。3 v) c$ t; k6 W: S: k0 A 11.点击如下图标,编辑工程目录结构。 8 a* h1 H3 k- P3 W1 k: O; x( @ 12.编辑工程目录结构如下。+ A# t, ~' j4 p1 H8 ^4 c2 Z1 m 13.给工程添加文件。 将MDK中startup_stm32f072.s启动文件添加到Startup文件夹中。* w/ Y4 c" q6 @7 b" E4 e 将Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates中的system_stm32f0xx.c文件添加到CMSIS文件夹中。$ |( [ p+ M# g- V! @ 根据项目需求有选择的将外设库函数文件Libraries\STM32F0xx_StdPeriph_Driver\src添加到STDLIB文件夹中。7 x6 a( {& G) z; N2 ?, ^ 将SRE文件夹中的main.c和stm32f0xx_it.c文件添加到User文件夹中。 将DOC文件夹中文件添加到DOC文件夹中。8 B5 V' P6 f9 k: e% _3 H$ M% Y4 t) l% I4 R 3 u |1 o3 Z2 D 6 X: T; s& M% t U" w: Z) e 14.点击魔术棒按钮,开始配置工程。 0 h! M* D9 J4 y& x$ W 15.点击Output,将输出文件保存在OUTPUT文件夹中。4 g2 \/ ~- O5 _ 16.点击C/C++,在Define中添加USE_STDPERIPH_DRIVER,STM32F072。0 I0 |9 V; k- M( ?+ p4 g6 z H 3 ?; Z3 X' {+ \/ [- X! E, J, S6 l 17.点击C/C++,然后再点击Include Paths。 , c" z& {; l4 Y. m+ K3 j9 d5 d4 s 1 L0 ]: A7 z2 y' U 18.最后点击保存,然后编译,看到"..\OUTPUT\test.axf" - 0 Error(s), 0 Warning(s).就表明大功告成啦。 7 o& L3 @9 f6 D* E( }/ b! h& {& Z+ ~ |
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32介绍
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32F10X-架构
【经验分享】stm32F1 us延时函数
【经验分享】STM32F1之定时器
【经验分享】【stm32】stm32f1代码中core_cm3、system_stm32f10x、stm32f10x_conf、stm32f10x等文件的作用