STMCU小助手
发布时间:2021-12-7 11:00
|
一、总述 之前买了一块STM32F407ZG的核心板,以及和它配套的TFT显示屏,学了很久了吧。最近同学让我教他STM32开发,于是就想写点东西总结一下。 我习惯用的开发环境是Keil,软件及开发环境的安装网上有很多例子,在这里就不再细说了。那么接下来,就是学习如何新建一个STM32工程。(为了减小开发负担,在这里使用了STM32F4的StdPeriph固件库)+ d, V0 o7 s2 z5 s. ? 二、第一步——建目录 首先,新建一个文件夹,名字就是工程的名字,这里工程名为STM32F407ZG,如下图:(另一个文件stm32f4_dsp_stdperiph_lib.zip就是STM32F4的StdPeriph固件库)2 m9 H& b, |2 r# u5 k: u% F8 v
$ r' Y4 a; y" {) U! D# x' J 然后,进入工程文件夹内部,新建Driver、Hardware、Libraries、Project四个目录,如下图所示:6 j/ F. `& a5 Y3 Y& c2 x 6 d, f6 l) S+ o d1 i' U
' Q8 i8 }1 g3 ^# T1 f
三、第二步——拷贝文件" k* y6 n+ T8 ^. e1 _6 k% w0 c/ L6 { 首先,将固件库压缩文件/STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Libraries/下的全部文件解压到刚刚新建的STM32F407ZG/Libraries目录下,如下图: + J3 w q2 m8 d# N
然后,将固件库压缩文件/STM32F4xx_DSP_StdPeriph_Lib_V1.4.0/Project/STM32F4xx_StdPeriph_Templates/目录下的main.c、main.h、stm32f4xx_conf.h、stm32f4xx_it.c和stm32f4xx_it.h解压到刚刚新建的STM32F407ZG/Driver目录下,如下图: ( x6 \( U; q6 B' O! s
! `7 S9 B6 `+ Z9 j( {+ Y% P% T
如果有keilkilll.bat文件,拷贝至工程文件夹下,也可以右键->新建文本文件,双击打开,加入以下内容,然后再更改文件名为keilkilll.bat。这个文件用于删除编译中间文件,减小磁盘使用空间,一般上传源代码前都要运行一遍使上传文件变少。这一步可以省略。 - k) B x7 ~+ o. o. \9 o7 x
四、第三步——MDK建工程 打开Keil uVision5软件,点击菜单->Project->New uVision Project...,目录选择到我们的新建的STM32F407ZG/Project/目录下,输入工程名,点击保存,如下图:3 t9 d# z, |7 K5 ^ 4 ?* p" ~' s; Z \
5 i5 I& }9 n, I$ m7 X" q0 d
接下来进入选择芯片对话框,选择Software Packs,然后芯片树中选择STMicroelectronics->STM32F4 Series->STM32F407->STM32F4407ZG,然后,点击OK,把后来弹出来的窗口关了,没有弹出来的就算了。, c" |% M, ~4 w8 M ) m% p4 d; A v+ L% N- l
五、第四步——MDK项目配置 点击下图框出来的魔术棒图标,切换到C/C++选项卡,填入define内容 USE_STDPERIPH_DRIVER STM32F40xx,然后,点include paths后面的按钮,进入include设置窗口。, T; S. C! ?% j$ W/ [ : {( B1 P( C& m9 a+ L7 r
* l# ]) |7 E7 v' i; `) D
双击列表,点击后面的按钮进入目录选择,或者手动添加,加入下面的目录信息:点击OK,回到主页面。 7 |4 m* z! M0 E* x
. X' F) F: y# `+ w 再点击下图框出来的三个正方形的图标,在Groups下添加CMSIS、Driver、Hardware、Library目录: 6 d* I% A B8 ^! [% F- k1 F
) E/ }% Y, V3 ~! |+ \- w
在CMSIS目录下,添加..\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\文件夹下的文件system_stm32f4xx.c、arm\startup_stm32f40xx.s3 @* `, m/ X* k3 ]" k 6 }1 U' L) m' Z0 }- a 在Driver目录下,添加..\Driver\文件夹下的文件main.c、stm32f4xx_it.c0 {: }$ I, N3 d! I6 w 在Library目录下,添加..\Libraries\STM32F4xx_StdPeriph_Driver\src\文件夹下的全部文件7 |) H7 l# e; {. c3 O 5 F! q3 F+ Z0 {1 u 由于新学板子,还没有用到其他模块,所以Hardware为空。 ( c* _3 k. {+ ~5 i* r 最后,点击OK,返回主页面。5 C& s- A, O( T+ | 六、第五步——编译程序, l7 s8 \: V2 I, M7 R 点击下图中的编译按钮,进行编译。 C. \3 d8 e8 F0 v$ U2 w/ P
发现在编译stm32f4xx_fmc.c文件时出错,回到上一步中,把Library目录中的stm32f4xx_fmc.c删掉,再编译一下,错误没有了。2 J2 r* Z4 y$ }5 b/ `
至此,新建工程圆满完成。 4 O/ g8 D" g6 }% w1 K5 Y8 E ! E5 N f! @% H$ H% h4 F. O |
【福利三:雨露均沾·逢7狂欢】之四:用一个定时器同步另外两个定时器输出PWM
【逢7发帖赢大礼】STM32开发之WIFI实时时钟
【逢7发帖赢大礼】STM32开发之指纹识别!
【逢7发帖赢大礼】STM32开发之环境空气质量监测
【逢7发帖赢大礼】STM32开发之人体实时运动信息监测!
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
【逢7发帖赢大礼】全网最简单的Arduino_STM32开发环境搭建教程!
STM32F4中文用户手册
STM32F400、STM32F402 Cortex-M4超值单片机
SPI 高温读错最后一位?STM32F42xx 官方根治方案
微信公众号
手机版