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

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

[复制链接]
STMCU小助手 发布时间:2022-5-17 22:00
STM32CubeMX的新建工程其实很简单,如果需要有复杂的配置,整个工程就有很多细节的地方需要注意。( K) |7 k. n. R) A% \$ F; c" C
; b+ }8 B7 S9 u$ o7 Y: R
一、打开STM32CubeMX软件,点击“新建工程”:5 b# X1 j, c* e! p, r/ _# Z

& a- z# ~5 W5 q. Q7 A Y{Y0V9JJCTVAGC_X02SSOV8.png 9 [/ x, {# ^* f) |
, w2 C7 r+ o/ R8 K4 |$ M" w$ a
二、选择芯片型号,点选后,双击选中对应型号(点一次是查看其信息,双击直接选择进入):
* t. U* N0 M0 ^- W3 B4 I; H
0 {- v! v. D6 l: s9 `0 [8 N# w( b F1~}3HI16N8V@I5OXCK1QMW.png 8 {+ o1 D% b- i  O: @6 m# l$ l" Z

% r& ?# M! O4 h6 J$ |双击后( h- }. v) s7 P# t5 R1 F9 C* ^
& o& x; f, C; Z5 h( T& P7 Z
JSEJ[HZ[EX09XBJQ22B2G.png
+ y8 [! i3 W# E$ M) n
6 Z, G9 n6 h1 i! y* B. f三、设置软件工程,Project -> Settings弹出设置窗口,设置好参数,点击OK即可
" y  j1 P  _( D$ \1 h
( M9 h2 u( k" f6 I# y5 v 6 G0 i  e- f. G) d" \+ h
9 i! R& q4 f2 w' S  O9 W8 X
注意:默认是选择最新版本的库,在使用时要选择自己的库,如上图第7步。
4 [8 U# c; w. Z3 W$ T& o. k* Z8 c# ]% v5 j
接着我们进行自由设置:
2 r# `8 g) k1 S$ L3 ~! B# Y& b6 n6 X0 E. Q6 E/ Y4 s
N6ZS5]E}U1GG9A%`K(UYRH7.png
8 s, q# ]0 ^3 n% U: W( @) d/ ~& I, b5 W6 l7 V& ^0 X% ]+ `& f
四、工程配置
$ Q. X; Z# {9 r: g1 J; z$ j6 v接下的配置才是与我们最终运行代码密切相关的,我们这里以简单的配置IO(PE5引脚)驱动LED为例来讲述。
& f+ D' V. ?3 m+ f: |
( ?+ v7 b7 r  M% c1 y- B# uA、放大芯片图标,找到PE5(可以通过Find查找)
1 Y: L& u9 d3 X4 b7 \* M' R2 y* O) C( A  a3 X& v
4VJUS$@W__N9OGQCVPESQ[W.png 2 o- X2 t2 ]: T4 u. n% y3 N9 P* [- X

  i4 J* x0 @1 y2 MB、选中PE5-> 左键 -> 弹出列表 -> 选中“GPIO_Output”
6 |; z: ?8 y- c1 [8 U) y1 k5 X4 j8 T6 h/ m3 ^' u+ j
6VKPON}S9ARKWLAWGTUAFH0.png
1 K8 }( F0 |4 k* b% ?! p$ R7 y4 `, z7 o( T5 }. n* y- n% ^
C、配置“晶振”引脚(RCC配置)
6 J! d* w+ n3 G3 |4 m. P& l
* h! ?* j7 A1 [2 Y; u! J& E. d如果使用“外部晶振”就还需要继续配置(我们配置HSE为例),包含三个配置:
! Q) C  W' V# ~. N7 v% s' R& a3 @7 N: p! ]! |
HSE外部高速时钟、LSE外部低速时钟、MCO时钟输出。
' }7 G% \& D1 }; K( t& n/ J+ T3 i' y' Z: U
4OTJ(@`_M57Y%}KTX9CLYUD.png
$ s% C7 j6 z( n! |$ L( r' S
2 l$ S, o' X2 h! l# o, v五、“综合”配置; S* W2 X# Z3 p: G
由于只配置了PE5引脚,其他功能(如DMA、USB等)没有配置,如果前面配置的有,这里配置的信息就比较多,所以叫“综合配置”。4 d2 X, K$ z  z
& j  ?  x) F) g. Q' J. {
点击GPIO,弹出配置对话框,按步骤依次填写完信息,点击“OK”就好了:( U& d) \0 V$ B/ Z% O/ m
$ H( v9 d% `# I# b
2]N{{](2~5BQ$H$%D]J565F.png 9 [- J% p) R$ ^- Q0 M' W

. \3 G$ x* T1 T HO{5QJ[(VXG}N7O9H_J]FYM.png
+ _- T1 J6 a  `; ?. G  q# y! y" e+ L
( Q' d/ Z8 q2 ^. p2 R) U" I四、Clock配置! l0 \8 M% N- t, d
这里的配置是比较人性化的配置,结合时钟树,一看就明白(也可以根据参考手册时钟树配置),配置方法一样
2 u8 {4 D( y- o$ f! d2 {) q+ p4 B2 d" q0 @: _; Y3 z
V(M2R1AYKOV`1)`(01B@9.png , P* ^8 s/ w% `
2 v* f! Q; u# }
六、生成代码
! N* w4 b- J9 ?8 e) B, j在完成上面所有配置之后,最后的工作就是点击“生成代码”按钮:; @% ?  ~7 i) P: n7 A

5 }/ U/ s+ v: I4 c  C MAFPF44SW@0BM]1~0GJU7_T.png
  ]( R9 U) v) x3 |+ y& }1 G
; z9 c) d* E0 z2 T& w如果前面配置的生成软件工程,就会拷贝HAL库文件在你的工程。随后通过相应IED环境进行程序设计及编译下载即可" t* H3 \5 z9 D( l  D
& O  ?, G) C  @: X
注意:STM32CubeMX 生成的main.c 文件中,有很多地方有“/* USER CODE BEGIN X */”和“/* USER CODE END X */”. g6 Y+ P: j: S& Q( P
格式的注释,我们在这些注释的 BEGIN 和 END 之间编写代码,那么重新生成工程之后,自己写的代码才不会被覆盖。
+ a/ j' r% Q# V2 L; `& t
, |* Z0 E2 n. R) ^
5 g9 x. x. _. O6 f$ S# c$ |3 h
收藏 评论0 发布时间:2022-5-17 22:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版