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

【NUCLEO-H7A3ZI-Q体验】不懂理论会用系列--点灯之“亮”篇

[复制链接]
zhdjet 发布时间:2022-6-17 23:27
因为疫情封闭,导致活动两个月后才拿到板卡,这几天利用空余时间研究学习了一番,开箱篇就省略了,直接进行点灯篇,作为一名STM32初学者,计划是一步一步的进行此板卡的学习,帖子中一定有一些用词不当,论述不当,引用不当,操作不当的“四不当”情况出现,欢迎坛友们批评指正,谢谢!. Z7 [; Z  o3 N) }+ a
    本来打算用CubeMX+CubeIDE,但是因为习惯了用MDK,所以就用了自己习惯的IDE编译环境MDK V5.37,后面有时间再学习CubeIDE,到时再跟坛友们学习讨论。
' S2 q) P0 p% d    首先是安装STM32CubeMX并打开,安装H7的最新Pack包(相信大家都知道怎么做,故省略了此步骤);新建H7A3的点灯工程;/ |# K, h0 [- D- i1 X4 K$ M0 M
: J0 K8 e! N. a2 d6 Y- b

  p  G! _2 _! {0 Y  K$ N( v新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;
6 |9 R4 _  Q" C+ F! \3 u( }
图片1.png
. d2 D' P* e2 l- e2 S/ q# e4 j; h5 h  R" K6 h. {
+ y; \& n1 E" C
输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的;& J* {8 Y- _" e5 V- @
! v! W8 P: B! H: {3 Q2 a; r% X
4 u+ j' v8 H: }7 ?/ h
图片2.png
) R4 g) w  u( `5 [% H" B) x2 ~7 T双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条)
5 P5 y: X7 `* V
$ v/ R- \- r% K! C) S3 g0 H) `/ ]" L7 j1 K# @: ~& J& J& G/ Y& L
图片3.png
4 r2 l/ j- H8 A) h$ }* d6 X2 T2 }- \4 ~. _
图片4.png , x# [" E% z1 ]4 M
7 [+ ^0 t- a+ {* G0 p* j
( [; P6 l4 C4 G8 T
' \0 V+ P- k+ Z  K$ b* s
0 X/ J. u) }0 [9 I$ J$ l0 Q+ |
参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置;
3 ?9 i# }% x9 b) G5 s; @
- x0 J  t0 d+ |! @, c& U 图片5.png % f1 G" |. p) _

( J: J/ F: H+ ]/ s0 @8 {" S! l0 ^5 ` 图片6.png
0 ?; ?, X4 k2 q0 @! E3 F
. O4 B4 }. y5 ]
1 X1 _0 n7 m1 ?# k# a- C. F  V8 V' y, i* N/ y
1、设置PB0为GPIO_Output模式
. W+ ^1 G) U( V& T6 I1 Q5 X2、点击展开左侧外设选项栏的“System Core”
, n; ~' P$ Q1 F& D9 p! L3、再点击下方的”GPIO“
4 V+ Q" p+ j! r+ c; d* y, Y4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”0 E! m) W4 Q& J; Y$ a) o" f
5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“
1 \* Z" B7 X3 E& T8 `* {: I3 q* W) Q  G" R: P
因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。
# b* R! l4 T4 J& m3 ]4 ]# |1 ~) q  V+ v  X: L4 Q1 w
以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;
1 j9 |1 C0 Y, }. m3 Y! w/ W4 W: [/ V  e" @6 H, `; A
; o3 G- Z: W! m% ~  q0 B! x
图片7.png % m# S- @6 }7 H( {; ~" k

# Z) P+ f( h5 _2 B1 t进入“Projcet”,) P$ l2 s1 M1 o
1、设置工程名称为“LD1”,% {  ^! e* Z6 t) l: Y) X
2、选择工程的保存路径
  O' u6 ^8 m6 U' @" v+ k3、选择编译用的IDE及版本5 E: w  F/ N3 G$ [. F
# D* _7 R2 _- J

. q. t/ b+ Z7 E9 x* i7 S- ]- k/ S0 a/ k! S
点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;/ o( Q( j+ i8 I! i& A8 @
+ y8 E) x5 G3 ^# Q/ t
图片8.png 7 O  e! }* N* e  A) o8 o
- j- P3 p+ O8 p7 F/ e
# P1 }( I  d: [  s' C2 S3 X' C
点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明;
! C- h9 h( M; z  S0 n9 U" g) W
7 z2 l* G& J; W
图片9.png
5 S/ N% r; w+ a# w3 F( V
5 n6 Y* U5 g: D通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;1 }9 K" a* D: J' E

) S3 L3 i$ W4 D8 \+ t 图片10.png 7 C  [3 ^! ?$ V( j
* i1 ^# N) d$ u& N
$ f9 I3 Z" a$ _  `- S* n" x6 \. L/ I
会自动打开MDK编译软件(前提是设置MDK为默认打开方式);: w+ R2 e$ B& w* |

6 ~& {" X6 W4 t' E1 O双击打开main.c文件:(用户代码的添加说明见下图)
9 c9 H$ a0 c  `7 b. h4 V( C  Y! B7 J0 @  m; D7 t8 }
图片11.png
. i2 \( z) s# i; H9 k& G
4 C. e/ G5 @7 O
2 @4 U8 n% x/ E. b5 j% ~' q' p$ z双击打开gpio.c文件:9 o8 o) \& [. J6 z0 |1 n

! T, _4 Z9 [; h5 B1 l8 y8 r
) J1 m7 f2 C  s% B6 v' r9 [ 图片12.png $ U# X" f& P; W% v$ w2 U$ c* u
# R. O  ]8 t# J3 p; U0 U0 u: m
从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;5 O) S7 W# D$ S* s
所以不需要添加任何代码,直接编译即可;
0 F2 Q( \; }* Z
, j/ `- |4 y+ ^" J% K( p# X& Q$ s1 \

& u: U# \/ i7 G1 i/ x 图片13.png 6 o& @% g3 _, ~9 I8 c1 {  t

+ h+ a6 P5 T5 Y# T' `1 v3 k4 x$ T

. a3 s' C, O* x# k. ~接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;
8 Z+ s8 D/ T' o1 U
3 C/ ]9 A: F6 g% O+ z9 U+ d" d) R3 Y1 |6 a' F

& y& a! ]8 u9 E3 j: H. c3 N
" |2 c  i/ e' c9 b 图片14.png : u4 A  B% F! g/ H. q: F
$ d/ q7 H$ @' }$ x" F
图片15.png & k  X7 ~7 Y7 Q# t3 s- M. ]$ w
# g& i' @1 i7 Z, y% z( Y
图片16.png + z3 u+ z' o0 S1 |9 x% Z
/ c, ^; i) `! I
上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
" J: z% ?! ?2 T) d) ]; B
2 z- n" {8 N1 W/ v0 V 图片17.png
1 o( W9 i/ [2 q0 N) m
- O* E$ A& T/ x. j6 n 图片18.png * l% H/ v  P( o' o$ A
. [$ X1 Q+ I6 q# R7 O0 ]5 f# s

) Z- l7 ^, ?: }& u$ g. e! u
8 d7 n* S* i$ B/ F8 F
6 U# Y/ s% Q8 X. e6 C以上设置好后,点击”下载“按钮,下载成功后如下图;
, h/ l. r: f3 m" ?1 B8 e7 _& q8 W
) Z3 K0 i5 l% _1 c  O5 |
2 s. e& z% L6 m% m, a 图片19.png 6 U: i* d4 S& e' R

3 u* Z) I4 z4 u. W, h* }自动运行效果见下图:* o4 Z3 {! H; h; O# K7 p# m7 K
1 W! x- i8 G) F* \# |% u" D) R
IMG_20220615_095356.jpg
+ k3 b" Y5 d/ X* V
, F/ N4 M3 l0 z# ?) i4 s7 Y工程代码附件:8 ^- i/ v5 S6 C4 @/ Y1 F
! Z* O2 @9 g3 _
LD1.rar (3.57 MB, 下载次数: 5)
赞 收藏 评论3 发布时间:2022-6-17 23:27

举报

3个回答
zhdjet 回答时间:2022-6-20 09:37:44
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。
; _& U9 T% D$ h7 w" M$ e
zhdjet 回答时间:2022-6-21 11:34:45
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!!# V* z6 m, T1 |, g- {' L: X
+ g* x& j2 S, ]+ X# m) x+ P
zhdjet 回答时间:2022-6-21 11:37:11
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。
# Z( D# Y7 C# j: g
  o5 v; [7 }; N% T* w& Q0 v2 |

所属标签

相似技术帖

官网相关资源

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