你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32CubeMX新建第一个工程

[复制链接]
STMCU小助手 发布时间:2022-5-17 22:00
STM32CubeMX的新建工程其实很简单,如果需要有复杂的配置,整个工程就有很多细节的地方需要注意。
% j6 w+ Y# Q" H8 K; ?7 U; N
' ~( p6 i* b, j! g/ z& |% d一、打开STM32CubeMX软件,点击“新建工程”:: ^$ B4 x4 M" F

8 J) c1 V7 G! x& Z, f6 E Y{Y0V9JJCTVAGC_X02SSOV8.png 5 [2 y; v8 f6 O# E4 Y' p( e& n
# l' ?. P+ I8 C/ L
二、选择芯片型号,点选后,双击选中对应型号(点一次是查看其信息,双击直接选择进入):+ L* c. A7 o9 l8 f- b
. o4 \/ z$ H, @$ f. A) v; |
F1~}3HI16N8V@I5OXCK1QMW.png   B+ v2 U( R4 U$ I/ O" z, z, l2 z
5 E' m) G9 S! R: c7 b  c
双击后
6 `( I6 t8 e  B& ^! q
9 z- T$ v. `* K$ l5 r# c; L; C JSEJ[HZ[EX09XBJQ22B2G.png
: F( D* F) m) i# \4 G; S9 F! r' C
+ N7 F. ?+ ?* t+ A& o6 b* \三、设置软件工程,Project -> Settings弹出设置窗口,设置好参数,点击OK即可
! }  b0 V/ N3 u8 ?8 T+ S. r% F+ I- F

$ B. F# q" O; m9 L
6 Z* G1 B4 }5 ]4 \1 z( F" |注意:默认是选择最新版本的库,在使用时要选择自己的库,如上图第7步。2 D8 Q# U& Q! ]7 _( B; a$ _

; w# M/ y3 Y/ J7 k9 y接着我们进行自由设置:+ O, B) S- g. O

  G7 x9 ?3 q5 v# J. _ N6ZS5]E}U1GG9A%`K(UYRH7.png
6 y$ K0 t& m! @( o; r& H
6 S+ B* \& k- w1 ~, L四、工程配置* \6 Q& K2 d$ Y
接下的配置才是与我们最终运行代码密切相关的,我们这里以简单的配置IO(PE5引脚)驱动LED为例来讲述。
+ w* \7 B6 O; A6 I( u
, v7 r1 C" P& x6 M2 y8 `A、放大芯片图标,找到PE5(可以通过Find查找)/ {) ~: o1 Q9 ^' s% L: o

' }) S; d* @/ H( t 4VJUS$@W__N9OGQCVPESQ[W.png
+ l' K# s. l. U" m! b8 D# t; |+ C, z
B、选中PE5-> 左键 -> 弹出列表 -> 选中“GPIO_Output”
4 w$ w$ w" Y. t; E
; S6 }9 n( s" W% a1 Q2 _ 6VKPON}S9ARKWLAWGTUAFH0.png
7 i4 {  @$ I7 Z5 b' X" v+ }$ D  A/ V8 G1 K% f! c- ]0 m- ~0 L( ~2 F$ a
C、配置“晶振”引脚(RCC配置)
/ c' W1 Z8 ?; Z$ x" e- x& k
$ N$ `+ A' u; e! C/ x! Q8 g, W如果使用“外部晶振”就还需要继续配置(我们配置HSE为例),包含三个配置:- i( @3 N4 ?" t5 d  ?& n/ I
) J$ y2 [3 i. |( F# a& \
HSE外部高速时钟、LSE外部低速时钟、MCO时钟输出。5 `0 Z- a! Y" n2 ^# t  r8 ?
/ A* P" F* X; a% E' p7 X" M
4OTJ(@`_M57Y%}KTX9CLYUD.png . u4 Y+ g) {6 @' k
7 y  w8 i8 ^! r' o/ K( o( Z  N
五、“综合”配置, i$ V# S+ P. v; Y4 a. C
由于只配置了PE5引脚,其他功能(如DMA、USB等)没有配置,如果前面配置的有,这里配置的信息就比较多,所以叫“综合配置”。1 ^  l. F1 b( Z0 E, e+ t: x2 a- r
/ R/ N  A; @$ E: l# u
点击GPIO,弹出配置对话框,按步骤依次填写完信息,点击“OK”就好了:: e  C. D5 @" M2 G
$ f0 \5 t! {% ]7 [
2]N{{](2~5BQ$H$%D]J565F.png & v$ S  G* k% y8 P

7 _0 d4 p$ `* q, F! h HO{5QJ[(VXG}N7O9H_J]FYM.png , n8 d4 a( [$ I# o( E
0 d: P9 `& y) @6 O1 q
四、Clock配置5 t6 H1 O6 p4 s& i
这里的配置是比较人性化的配置,结合时钟树,一看就明白(也可以根据参考手册时钟树配置),配置方法一样
- f" Q: h( ^3 o
. k( Q% s9 Q. J1 l V(M2R1AYKOV`1)`(01B@9.png
4 y, S( I' u' C( F* P; K6 Y' b' ], c. {8 q$ {) l; Y; w: a4 |% t4 N6 [
六、生成代码' s5 ]+ Q# t0 l4 J* r
在完成上面所有配置之后,最后的工作就是点击“生成代码”按钮:: c/ a  N+ |+ O2 z& v! {
9 b' {# s8 O$ E: p
MAFPF44SW@0BM]1~0GJU7_T.png
' E# d+ g- e- u2 N/ ~' Y
( }: S$ a* s* v& b4 ^1 a& |如果前面配置的生成软件工程,就会拷贝HAL库文件在你的工程。随后通过相应IED环境进行程序设计及编译下载即可
; ^- G8 r% N& V7 _% B3 w9 l4 H+ k" p- {
注意:STM32CubeMX 生成的main.c 文件中,有很多地方有“/* USER CODE BEGIN X */”和“/* USER CODE END X */”
/ k+ W  T. B$ M- \) p) j3 d, x4 h格式的注释,我们在这些注释的 BEGIN 和 END 之间编写代码,那么重新生成工程之后,自己写的代码才不会被覆盖。
% E$ \" |% s9 P; a/ X+ k' m8 ?. C/ y, O9 ^! W8 r0 o3 d* ~$ y, @- x

8 N9 h! V9 K/ @% J7 G
赞 收藏 评论0 发布时间:2022-5-17 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版