
一、环境 1.IDE开发环境::uVision V5.25.2.08 V) b& K2 E4 F% q+ E/ e 2.标准库:STM32F0xx_StdPeriph_Lib_V1.5.0 3.单片机:STM32F072RBT6 4.仿真器:JLINK_OB 二、图文详解新建工程步骤& o/ E+ A0 L2 J+ j# r( n 1.新建工程文件夹并命名,例如test。 2.打开工程文件夹test,在里面新建五个文件夹。5 V" K7 T7 ?, {( y) R6 E1 ] INC: 用于存放 .h头文件 SRE: 用于存放 .c 源文件 MDK: 用于存放工程文件 OUTPUT: 用于存放输出文件,例如bin文件和hex文件等 DOC: 用于存放工程文档说明,比如历史版本修改记录,通信协议等; a6 I5 Q. m% }; S3 a 9 ]0 S! k8 I$ ~ ]& e" } ![]() 3.打开标准库文件,将Libraries文件夹复制到test工程文件夹下。 ![]() 4.将标准库目录【STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates】下的main.h、stm32f0xx_it.h和stm32f0xx_conf.h头文件复制到刚刚新建的INC目录下。 # D7 ~3 e& l2 i+ ?$ p ![]() 5.将标准库目录【Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm】下的startup_stm32f070xb.s启动文件复制到刚刚新建的MDK目录下。9 Z( [ Q1 K- t i3 ] / @0 T% V; H# Z! j# q* X' Z8 o ![]() 5 p! Q$ [. e% d+ Z1 ?8 t ##### 6.将标准库目录【STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates】下的main.c和stm32f0xx_it.c源文件复制到刚刚新建的SRE目录下。: j" P0 z$ ?8 M5 G7 e 8 c) s9 @) u9 e0 y, k( j2 m. C# u ![]() 7.打开MDK5,点击新建工程。 ![]() 6 X( B, I+ L, z 8.给工程命名并选择保存在MDK文件夹中。 ! p/ f6 t6 Y& f7 C: @9 B& G ![]() 9.弹出的对话框选择对应芯片。 ![]() " p, U/ d# v! s* c- ^: t, g+ R- W 10.点击OK之后,弹出的对话框直接叉掉。 : M8 u) s; ?- x% i' q, ? ![]() 8 {2 S5 ?) u" |: g% k. u) M3 u 11.点击如下图标,编辑工程目录结构。 ; t1 O3 U' w9 E% p. n$ I ![]() - ?9 U6 d& t% b# v9 H2 n2 x. A 12.编辑工程目录结构如下。: b/ g& ]1 U: s ![]() % V0 \+ B) A1 }5 f 13.给工程添加文件。 将MDK中startup_stm32f072.s启动文件添加到Startup文件夹中。* k* {) ` p i( M 将Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates中的system_stm32f0xx.c文件添加到CMSIS文件夹中。 根据项目需求有选择的将外设库函数文件Libraries\STM32F0xx_StdPeriph_Driver\src添加到STDLIB文件夹中。! w" ^9 _! O' i: F' G! }7 J* | 将SRE文件夹中的main.c和stm32f0xx_it.c文件添加到User文件夹中。/ n# W) R W% w 将DOC文件夹中文件添加到DOC文件夹中。 7 w% d; @8 Q* g8 z& b ![]() 14.点击魔术棒按钮,开始配置工程。' Y+ C" T: v/ w+ z# M+ x ![]() 15.点击Output,将输出文件保存在OUTPUT文件夹中。% F# a/ \- l, f3 G3 q " L0 _" B& L+ u- L" h2 o ![]() 16.点击C/C++,在Define中添加USE_STDPERIPH_DRIVER,STM32F072。; ]6 _3 g. k5 W 8 y9 }" N" ]" t& m ![]() 17.点击C/C++,然后再点击Include Paths。 ![]() 18.最后点击保存,然后编译,看到"..\OUTPUT\test.axf" - 0 Error(s), 0 Warning(s).就表明大功告成啦。 ![]() 0 J# f# r* U0 s' s( q' X$ w ' U8 D8 b- L+ d. Y/ o. Z* B1 ^$ X |
【经验分享】STM32F1 GPIO工作原理
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32介绍
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32F10X-架构
【经验分享】stm32F1 us延时函数