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

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

[复制链接]
STMCU小助手 发布时间:2022-5-17 22:00
STM32CubeMX的新建工程其实很简单,如果需要有复杂的配置,整个工程就有很多细节的地方需要注意。4 R7 M6 J) L7 M: Y  R
5 T( L+ E* z* Y6 v
一、打开STM32CubeMX软件,点击“新建工程”:
- u$ f% A; V2 [9 Z2 g6 K5 C& n$ s( T0 w/ X) b- R; c1 q
Y{Y0V9JJCTVAGC_X02SSOV8.png & s4 ~0 W  K* N1 I: z5 r
2 }9 `, X8 H- s  }% A
二、选择芯片型号,点选后,双击选中对应型号(点一次是查看其信息,双击直接选择进入):
$ c  h- B9 P7 i* ^+ O% T- C' z# C6 R3 r' }4 e
F1~}3HI16N8V@I5OXCK1QMW.png ( U5 p8 J7 [, k1 i+ n
- [* B+ Y# g/ `6 M4 ^/ ~) o* ]
双击后
7 V# X- ~) f+ o. Z2 j% p7 Z, `8 R8 x9 e7 G3 l/ x' q
JSEJ[HZ[EX09XBJQ22B2G.png
3 d* d/ i* r# C9 Z$ m, s
0 `, M5 [4 L+ E: R( l三、设置软件工程,Project -> Settings弹出设置窗口,设置好参数,点击OK即可. M" C" O$ f: |9 L7 E4 p( `& g

8 g' W; J1 u! n& H8 M# _! w ' }* Q5 f+ I* z
3 m2 j' o: _! s! n' d: p3 N
注意:默认是选择最新版本的库,在使用时要选择自己的库,如上图第7步。
* r# u! M& h, v4 I
: u8 V6 Z. |7 v: e7 V- b# k接着我们进行自由设置:1 K* d# X/ ]! E% e# W: t

: P6 x0 [: i' \2 Q N6ZS5]E}U1GG9A%`K(UYRH7.png
. K$ ~$ I4 i$ c, d+ g5 A4 B( n9 i' L
四、工程配置
7 z0 _* G' o; v2 S( T) l6 p接下的配置才是与我们最终运行代码密切相关的,我们这里以简单的配置IO(PE5引脚)驱动LED为例来讲述。
  `# u, G3 r6 e5 q% g
+ ?0 o+ [4 b. ^" s1 h2 b3 `A、放大芯片图标,找到PE5(可以通过Find查找)
+ ^/ D0 J" ?4 S9 P( t. M8 V, @' l- F% B/ G8 \9 D) m# ?0 Y
4VJUS$@W__N9OGQCVPESQ[W.png 9 F8 ]! G& Y6 R# h* K1 E# L" ^4 g
7 w, f  V3 Y3 r6 K) h& F+ X2 T) O
B、选中PE5-> 左键 -> 弹出列表 -> 选中“GPIO_Output”) x( A, M& ]. E

& ]/ H, `  \  u+ w3 p' u 6VKPON}S9ARKWLAWGTUAFH0.png
8 ]- d) w7 n$ W) Y5 m, |+ ?) G$ a4 E( ]. J4 ]1 c! @3 t3 w# F8 O- R9 c
C、配置“晶振”引脚(RCC配置)
4 C4 u7 n2 q0 ^; r# @. d7 a) l( V, t/ ]* w% W. _1 c$ V7 @0 ?
如果使用“外部晶振”就还需要继续配置(我们配置HSE为例),包含三个配置:
( O2 c' h6 `, P; w9 \4 I. a
; M3 W: @; r3 g$ OHSE外部高速时钟、LSE外部低速时钟、MCO时钟输出。
& l" U0 `6 w3 E) S+ [: M5 Q# s6 P; ?$ l. E4 w5 {
4OTJ(@`_M57Y%}KTX9CLYUD.png
% O: \. O6 Q0 Q. \
& X2 h. X2 M$ l7 o" }: K! c2 p( f  `2 E) c五、“综合”配置
+ }  T3 H7 \& A7 E2 a' `; W由于只配置了PE5引脚,其他功能(如DMA、USB等)没有配置,如果前面配置的有,这里配置的信息就比较多,所以叫“综合配置”。
& N( O- A- C" s4 M9 r
6 B  O4 F9 P( _8 l点击GPIO,弹出配置对话框,按步骤依次填写完信息,点击“OK”就好了:! w5 L1 Q7 t; j
( I/ p2 e5 D  I' ?5 Y
2]N{{](2~5BQ$H$%D]J565F.png $ k2 K5 x" {( q2 ~: M

( b9 ?% G. W& J- S1 Y/ _3 ? HO{5QJ[(VXG}N7O9H_J]FYM.png & f) m: `5 B, o! U# M* w' U

3 Z1 b( O/ w  _- C$ s8 L/ Q四、Clock配置
" p- n! L* B% W! [这里的配置是比较人性化的配置,结合时钟树,一看就明白(也可以根据参考手册时钟树配置),配置方法一样
# k& C  f2 p+ C! Q! n8 }' b
0 ~" f  |: ]6 ^  v$ m, E5 A' k- D V(M2R1AYKOV`1)`(01B@9.png
3 E, h9 W1 q" z9 m( I& m/ q2 V% y
8 E2 s9 [! I6 z' I六、生成代码5 z- W+ Z; j; e& M( u' w
在完成上面所有配置之后,最后的工作就是点击“生成代码”按钮:
, s$ N4 a0 ?* B- r+ `4 {
0 b8 E( o& L2 h" |, s* \5 A  h MAFPF44SW@0BM]1~0GJU7_T.png
, k' ^; o, x. P( R6 Z1 p0 {2 R# |5 S1 r" L8 q1 |5 M
如果前面配置的生成软件工程,就会拷贝HAL库文件在你的工程。随后通过相应IED环境进行程序设计及编译下载即可: \% {, L7 r) Z( J
2 ]. X' P# s+ d6 a  z* L+ V
注意:STM32CubeMX 生成的main.c 文件中,有很多地方有“/* USER CODE BEGIN X */”和“/* USER CODE END X */”/ i5 o, W9 k. u! w. ~& P, P
格式的注释,我们在这些注释的 BEGIN 和 END 之间编写代码,那么重新生成工程之后,自己写的代码才不会被覆盖。' z& s/ W8 V0 ^- K" j, S3 k

: a) Y( O. C& Z. I" f4 e( i1 A. W. ?+ \0 J
收藏 评论0 发布时间:2022-5-17 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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