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

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

[复制链接]
zhdjet 发布时间:2022-6-17 23:27
因为疫情封闭,导致活动两个月后才拿到板卡,这几天利用空余时间研究学习了一番,开箱篇就省略了,直接进行点灯篇,作为一名STM32初学者,计划是一步一步的进行此板卡的学习,帖子中一定有一些用词不当,论述不当,引用不当,操作不当的“四不当”情况出现,欢迎坛友们批评指正,谢谢!
0 y* R8 M; \# I2 |1 T8 @6 v) W2 P" K    本来打算用CubeMX+CubeIDE,但是因为习惯了用MDK,所以就用了自己习惯的IDE编译环境MDK V5.37,后面有时间再学习CubeIDE,到时再跟坛友们学习讨论。" c0 e( s* W& ~7 r: W6 ?7 M
    首先是安装STM32CubeMX并打开,安装H7的最新Pack包(相信大家都知道怎么做,故省略了此步骤);新建H7A3的点灯工程;
* `, v+ Z! p5 ~( B) h9 V2 Y. Z5 ?7 n" o# s" `& C$ }5 |
' p6 W! d3 ]+ x2 X! y8 [3 ?
新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;+ I! P$ J. @4 ^
图片1.png 1 s& I1 J, B+ F) D; P) t- Y; O

5 _% y4 o. z  P& `  w9 |
0 ]5 C, ]* w5 D% U7 _2 `& R输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的;9 f) j1 D7 {3 l  C& o, W

9 y3 x$ }# K6 h& Z1 D: O; g7 U6 N
图片2.png / A5 `3 @9 p& }
双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条). M) X' r7 ]5 M& C/ ~
! @( c, t+ H  D! i7 F' b

: I- S. s! p6 I5 j 图片3.png ; y3 v9 v; B5 o% ]+ {8 l) Z: L0 M
1 T# c  ?9 G! f* u9 B- y% Y
图片4.png - @  V! v& r* O. |8 t5 ^
5 z! Q, ]* J0 \5 f

8 A4 T+ }+ e: {
& _: B; h5 V( Q6 M& Q' M6 ?! _9 ]( M" i6 F5 D
参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置;$ S' \( t! d& j! [% B
0 O( V5 R; G0 M. J. y% Y4 J) e
图片5.png   [- @; I% g% p9 l" i$ @
' {# x( k6 p! t; P* }* I7 }
图片6.png ! ~- _" _0 }) X3 g4 i
0 K5 c; H6 G* Z+ L/ c
5 T; w$ S. h& U; e9 m- L: t0 E4 r( x& G

& _  _8 }, M  G3 d1、设置PB0为GPIO_Output模式$ q5 g6 R/ ?, v  n& R
2、点击展开左侧外设选项栏的“System Core”% O# H6 P+ N9 W7 y5 A
3、再点击下方的”GPIO“, L8 g% e7 ]2 P4 i' T
4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”5 @* W# V7 r' V) H
5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“. A  {2 Y# @1 R) c! @
0 u/ _% J8 s) T/ F* j* Z1 a5 b) T
因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。
9 o( w5 ~7 T6 D9 D) d% {6 P6 B1 J* S5 X) |* e2 w' `' Y# g4 q$ r
以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;, h2 x. j: `$ U

$ s) F; G! V; _1 h- w" \& y3 A! {
3 _. r- z! F" r; K: Z7 k( l 图片7.png 2 H4 L+ U  g9 ~; {. n

2 ^; Y( l. e  l/ _% @进入“Projcet”,
: C8 B% @- o4 _8 k7 K$ F' ^1、设置工程名称为“LD1”,1 N0 ~9 b6 r  i3 ^: |, @* ?& C
2、选择工程的保存路径
9 k% D: m' o) ?3、选择编译用的IDE及版本/ u5 c& K" O4 S
4 g5 T1 b- \9 g$ D
6 H2 W; _; i) O- i$ `  a
! S* h$ b9 M/ Q( n8 B3 I0 H
点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;
: O& q" x* o* k) W8 w
- L9 }2 v7 |/ `* `7 u$ S
图片8.png * X. O+ W! v6 R. q; _$ |* w

0 `8 |% G* I" Q: l0 W, t8 H3 V4 l8 h# ~  M6 {" C8 A  _
点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明;' m7 B- o4 V4 m
+ D2 }, E+ e/ b. Z( ]4 \/ C
图片9.png : I+ z0 ^$ \+ D. Y$ x9 Y
. i- E' Z. ]( E! i, Z% ~
通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;1 I- i. ?( c9 K* t& q6 Q
! t4 Q' h( }6 z, n7 s
图片10.png . j+ s9 O, J# N5 g! w$ W4 J; V
3 d8 n6 E, Z8 c
' [, T6 B8 N- j3 i; S+ m
会自动打开MDK编译软件(前提是设置MDK为默认打开方式);& \7 q% e4 H- T0 r8 ?

. E7 @* ?% `% ^双击打开main.c文件:(用户代码的添加说明见下图)
5 g/ m7 p  K) `: s
( p- P* M" x9 m  ?6 q 图片11.png % b+ S# z  j1 |) `$ Q
. S; y5 q: M; O% `

. ]# L* Y* C5 F  V8 |双击打开gpio.c文件:3 B+ H' g. z) a5 t$ t; [
* `0 N/ n' Q0 o1 @8 z
3 V7 t. Z5 k, v0 A5 m9 `- m
图片12.png 6 Z3 C# D2 I: L  {: V4 N
& L, C& b% z  N% x) c: s
从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;
4 g0 {: l2 e; P' v' s% F- a' t! r所以不需要添加任何代码,直接编译即可;' D* q) h/ y- R) J5 `

. }$ m, c" Z7 f% u& y+ \+ s

9 c: b' Z' X) v3 U4 ? 图片13.png
" d+ C. a7 ~0 L( e) I
6 u' f; p$ Q) B, x% {* h/ Q
" T- z. r( _/ }0 H
接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;" Z% ?' O7 g- L- o$ N  E# L8 e
( U# a: _6 s+ Q% c/ W( b
6 s$ _' m4 }9 g! J& n1 ~3 A

+ G. Q; h! S! g+ {7 }1 z, w9 d' I* U9 X2 f/ K% v
图片14.png / f; c' S) Z3 X$ O5 K. |

. B5 t, }' x5 C: ]- \7 | 图片15.png
% a6 V/ `& P; m# G3 V* q9 |6 X( c, R% t( |* k9 O* H: ]
图片16.png : |' Q. o: N4 r6 z1 }; o
) P. N: |9 p( ?% d
上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
% y2 R; d+ c6 _, X2 `  j
* V0 s) C0 f& T4 W7 F6 P, s 图片17.png / c$ s7 \0 [: V6 b

$ ]& _9 R) K& p3 k 图片18.png 8 x7 H" n' Z/ Z& i! g9 R0 [* ?
# |; v; y* G3 X

2 L3 ], t: r7 r- h% C# L' ?3 _" H0 H7 Y( e4 D
# D! y1 p1 n+ n2 i
以上设置好后,点击”下载“按钮,下载成功后如下图;
4 a: }; l( j/ o$ x  ~+ ?. G6 K3 i
8 X5 D" k3 u3 W
6 t  i. \; I% ?0 T, I# | 图片19.png
3 V: y, m% l6 i. W: D1 c9 {! k: V5 A" v3 O, I6 I
自动运行效果见下图:3 A4 I! W) z+ k  D
* j. y+ T' q9 a+ E' ?. Y: a
IMG_20220615_095356.jpg / W) \9 I" O5 _  A& l+ ]
3 B) Z4 Y0 q# d8 T
工程代码附件:
3 ^, A# n/ M9 z+ _( Z& U5 l7 d
2 n& t5 R8 S7 t0 d3 } LD1.rar (3.57 MB, 下载次数: 4)
收藏 评论3 发布时间:2022-6-17 23:27

举报

3个回答
zhdjet 回答时间:2022-6-20 09:37:44
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。5 H/ B( t& C. x, \( C
zhdjet 回答时间:2022-6-21 11:34:45
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!!
9 ]! ?. ~% V' w/ k: G/ k) y; v
# D; L$ G7 z' Y( B! a
zhdjet 回答时间:2022-6-21 11:37:11
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。
$ |+ Y! b1 O( r2 H" O% R, ?! t5 z

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版