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

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

[复制链接]
zhdjet 发布时间:2022-6-17 23:27
因为疫情封闭,导致活动两个月后才拿到板卡,这几天利用空余时间研究学习了一番,开箱篇就省略了,直接进行点灯篇,作为一名STM32初学者,计划是一步一步的进行此板卡的学习,帖子中一定有一些用词不当,论述不当,引用不当,操作不当的“四不当”情况出现,欢迎坛友们批评指正,谢谢!
* R1 _' F! U, r, A7 w2 @    本来打算用CubeMX+CubeIDE,但是因为习惯了用MDK,所以就用了自己习惯的IDE编译环境MDK V5.37,后面有时间再学习CubeIDE,到时再跟坛友们学习讨论。
* X9 a4 q2 |1 W' v5 `' V$ A: L    首先是安装STM32CubeMX并打开,安装H7的最新Pack包(相信大家都知道怎么做,故省略了此步骤);新建H7A3的点灯工程;0 d2 s2 R* R7 _0 z7 U

% M; i: ]3 Q& g9 b  Z" l
. ^4 X9 O- i, v1 x: @- [9 w0 s新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;" R# }/ A( b# v' S
图片1.png . V9 c/ [/ m2 p3 O; P6 M; u
8 |. p0 Q/ j9 [3 @6 m

. r2 x4 J2 S* T9 I: r输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的;
5 T' x# C' f8 j5 t9 O2 o$ G8 x" j; {( s% ?4 T/ l9 p  z

) \, |$ ^1 ~9 U- K! M9 J6 ] 图片2.png
- G2 ^7 W6 ]/ a双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条)
8 d4 b9 E3 p; N* Z  _  |7 A0 v% ^' s

' @0 w) R( T, d! M- D- H) r* H/ | 图片3.png
3 P  ?  e5 g0 o; b! U# t
. ]: g9 Z) Y( l! R. ^0 Y, ? 图片4.png
: n; F2 V, t2 i( K" i
! O# `1 j) w5 L- Q. ]* }4 F5 j
( Y* r$ p* Y$ j% s
/ K, h; n3 U/ L
. \# r/ \- y! k  t参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置;
+ c1 m8 W- q7 o" `" E- r
: x$ A  S1 d- c+ U- x/ A 图片5.png 7 ^, G$ r, R% u! Q, L5 J
9 S' k0 Z0 M) I5 z2 B
图片6.png 1 H. n1 n( q+ D* z0 \

8 I% R, A5 T  J" H* i1 e8 f3 ~. K
( G, p- T" L1 _& g( q5 ^3 J! K6 b0 c+ m* s8 J1 n% y
1、设置PB0为GPIO_Output模式( i# y" O! d0 }7 O9 }
2、点击展开左侧外设选项栏的“System Core”
" {# i, b, _# w4 g) N3 ], O3、再点击下方的”GPIO“
8 O9 K+ \8 e; e+ z4 l4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”5 T+ P0 f% l0 Y3 W1 A8 a" b
5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“$ m( |, g2 f9 i9 ^) \" T1 Z

/ o1 x& F" t4 r3 t+ W2 a- y因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。
3 `4 t* v2 v* X5 q7 i3 Z  a, q* p0 q+ d7 ^4 ], |2 n
以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;
1 S' K* B. Q3 Y1 }$ D
+ W7 r/ _6 f% d; n4 Z
7 T: h/ {6 @) A5 [ 图片7.png
( E" r; Z3 o! y* t8 c. P) |  Q% S. }1 {$ I) e9 `+ O5 q
进入“Projcet”,' @' w; B  I* K$ D! f
1、设置工程名称为“LD1”,
; a$ A( f$ Q- c: e5 ?* O4 U" J0 m3 c2、选择工程的保存路径
; Q  P5 h; v, e8 k, o7 y5 d: X" k3、选择编译用的IDE及版本
  ?3 G! I- v; P/ ^  o0 T# s5 a# n: T
2 r" t7 m/ w7 R" Z: K' ~+ N! z9 |' ]- N, i

/ U3 g+ }, r3 @1 L点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;' B. I! E6 Y' k+ ~1 x9 g

9 B9 O- ~  r( A( ~3 L8 g
图片8.png $ L4 F6 H1 m0 J" J# D

( g7 ^! ~1 ^/ \0 Z1 u, x4 i% U% a) m6 L& Q; t
点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明;
. R- U8 t) G# E- l; E! |& V7 x
% g# p) x' x& D2 r2 I( r/ U
图片9.png . @2 S5 r! |2 r. s) y
- V; W' W# p/ b7 P  e& O
通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;1 r  j: }7 j: I- I) j; \

# c! S, f; `5 K; S 图片10.png
- W: k; m( i6 S  E. }
/ |/ L% a8 S5 i2 ^5 _1 _! o# i, @! G5 I
会自动打开MDK编译软件(前提是设置MDK为默认打开方式);0 ~9 }: R4 l2 x& w

$ C4 Q/ C* o) }, L' l$ U4 D双击打开main.c文件:(用户代码的添加说明见下图)
( {* D- I3 v% x9 Z9 v1 f9 {# f1 I, E' Y/ o8 R! D
图片11.png : Y3 ?- }9 n) G2 y: s7 Y

# S4 o1 s6 ^: O8 {) |8 e
8 n" S+ b# U- f. R$ n, ?1 O双击打开gpio.c文件:* V1 }8 k: w# {* L# l+ n
$ \, Q9 O; P) U2 N

6 k. v. F- r7 S3 I1 T 图片12.png
7 i1 i  q3 q- U& j5 M. z! Q- a0 V0 v) Y1 U" S; _
从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;
( \( Y+ T4 k4 \所以不需要添加任何代码,直接编译即可;5 d. g9 J. J+ [- U; {8 E, _2 r- e# F
8 e3 ~* w7 r' g& H0 M% R+ a# [

. y9 D( K; p! S4 ] 图片13.png
/ s1 k# [6 Y5 d# w! a2 ]! E7 z' k6 o+ u7 v& H( j( q3 j, _  R1 j

& A/ ?% Z$ p4 h接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;: M1 l& K" |$ e4 |8 u: S

% d. i( Y7 E; J8 c' N- F) ^
+ N6 q2 b& m4 y7 T7 f- V8 N- ^! }+ c  a/ r

) `3 L. W1 T( [ 图片14.png
  N8 k- r  R0 p, S, i6 r4 R
# ^, `3 @5 k- i/ I$ I 图片15.png * A- x2 U) ]5 o& t1 K+ u6 E% b

! i2 ?( I! {! n3 F( b! f 图片16.png + f4 G' k: F$ ]( `" L
6 H7 I1 Q% z3 n/ f
上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
* Y: ], D% ~0 W$ y8 z( B( ]3 h2 f
7 ^4 z1 y& d) s, g 图片17.png
& C# X4 S3 V  X% B2 i
  T% C( j$ C" Z3 S! p 图片18.png
# ?$ k. f& V" s; Z# ^* S
/ c& d0 e" m$ ~4 G, `4 c
- g1 j5 [* W0 M/ V* G; f
9 `" ?& Q, C6 m" R' ^/ a1 J$ C
, h6 O0 d3 H, j* ^& f" h: ?2 k, s以上设置好后,点击”下载“按钮,下载成功后如下图;- O, k: v* L% L! c. u
$ X7 e$ o! Z, {$ {% N1 W
# V' c' ~/ z+ H6 w6 Z* ?
图片19.png
8 M/ D! l9 q. s( E" B: n& x1 ?3 h; _3 @$ W& o+ n7 u
自动运行效果见下图:
. l% Q) W4 Z! L) O
7 ]$ M% E% u' l% B IMG_20220615_095356.jpg
4 J! u: ]) O1 z  e& D1 l
/ ^+ o" b' q9 p  A, o工程代码附件:7 l$ U8 y6 t- o, _$ j4 a0 c8 g  I. g8 q
  j2 D# d  T: a2 G
LD1.rar (3.57 MB, 下载次数: 4)
收藏 评论3 发布时间:2022-6-17 23:27

举报

3个回答
zhdjet 回答时间:2022-6-20 09:37:44
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。' W, b  a) p+ e) V9 U% e
zhdjet 回答时间:2022-6-21 11:34:45
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!!& F3 G6 m$ j# ^4 f+ n3 i
5 B/ Y  N( t2 T0 n1 N' o) D( Z. A
zhdjet 回答时间:2022-6-21 11:37:11
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。
- m# Z6 P0 ?8 h# @- z( h+ w* \3 p  J9 u. {: C% u

所属标签

相似分享

官网相关资源

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