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

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

[复制链接]
zhdjet 发布时间:2022-6-17 23:27
因为疫情封闭,导致活动两个月后才拿到板卡,这几天利用空余时间研究学习了一番,开箱篇就省略了,直接进行点灯篇,作为一名STM32初学者,计划是一步一步的进行此板卡的学习,帖子中一定有一些用词不当,论述不当,引用不当,操作不当的“四不当”情况出现,欢迎坛友们批评指正,谢谢!/ \' p) t: Z- C. u
    本来打算用CubeMX+CubeIDE,但是因为习惯了用MDK,所以就用了自己习惯的IDE编译环境MDK V5.37,后面有时间再学习CubeIDE,到时再跟坛友们学习讨论。, v, [* R$ e& a
    首先是安装STM32CubeMX并打开,安装H7的最新Pack包(相信大家都知道怎么做,故省略了此步骤);新建H7A3的点灯工程;6 h9 U6 P" {& a! ~- p" V3 O# f
0 [: [# K8 @* v1 A; K0 E) k

8 @4 Y6 K- n& }  A3 h& H; [- b新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;
; b. n* X8 p' Q
图片1.png
+ b5 b( n( C& h' Q$ ]/ ?
' I  r. ~7 \% G
. ~. \8 R7 O: N1 B! f- F6 V输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的;
0 k* J$ d* d# \8 O  [) ]( ~1 S1 ]( @/ H, |* Y! m

  Q9 w4 O  z4 \ 图片2.png / G+ P* O' i- f$ o. b( d
双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条)& v  `/ k0 j  v

  }/ ?) K: R; \+ I; q- M  T% Q) Z. s8 B. j# X% \
图片3.png
' b) s; T( P% N- [
9 i+ ^3 R3 R5 j4 L5 m* f2 p 图片4.png 2 Y1 a( q0 y3 w! e1 k1 ]$ Y. N
8 m* j1 e6 ~3 @! ^  V0 U/ j" S
( P  o. F) O, \, y; }1 `& P- {9 h' L

& {8 S& Z1 y% T5 a# [4 Z: M0 c+ W7 G6 _3 ?3 ]
参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置;
, [% U& G7 X8 W% @8 I% r$ y. ^1 k0 e: m4 [! F
图片5.png
9 _% r" a) g" i" g* L6 G
8 w. F* O4 J5 Z 图片6.png ' l- c+ I9 g/ k+ E! [& m+ f
# Y+ C, d7 {; V$ W9 i. q: x6 C7 I

5 R3 ~( j- c4 A2 I; N# j3 ^% D6 A! f, X8 a5 h9 R3 k
1、设置PB0为GPIO_Output模式2 Q9 g  I2 ~* i0 p; b# a# `
2、点击展开左侧外设选项栏的“System Core”4 ^* v$ e* L, j
3、再点击下方的”GPIO“
3 l8 |# X. H+ S% J' v4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”( r3 ?. x9 q4 ?- F4 o
5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“
- [. c: ?; {2 \
( p, d$ d% q9 ]/ }/ O' o" e因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。
$ P" t1 |( z, u! A- x4 ~% i  y* x0 k" @# L" Y$ b1 m
以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;0 U9 @9 d8 m3 b3 \7 ~$ n8 P
6 C! x* s7 {7 I
7 F7 a' h% j6 F* j+ J2 G
图片7.png & t. D7 a- o( i) {3 ~, h" ?' T- Y
" T; r9 u) \7 j1 W3 w
进入“Projcet”,. J  S8 J( v  f7 L  y& P
1、设置工程名称为“LD1”,' _) N# r2 g# B9 U. P. Y  y
2、选择工程的保存路径
  u" m+ r$ T; q/ e) j. U- N6 T( y  \3、选择编译用的IDE及版本* {+ A0 q7 H1 X/ }
6 w- Z: E% N* H: v2 i- v

8 R: m, g4 g0 d. ?! \
* S& t/ y5 e+ S3 A点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;8 A/ \! i% v' S# N0 g% o. R" g% x

$ t$ d1 b: M1 a& g, r. g
图片8.png
1 y% q% K  m, U% Q, p* G9 B! J. u6 j" o+ i" P  o9 f2 n

/ e3 N& H2 F  \1 l6 ?7 ~+ O点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明;
+ A" y% V" x, t) p) B4 p0 p7 n3 @- U! e  O3 c+ C
图片9.png 0 g  `& N! X- L  t4 k! d

2 G2 l( v1 p7 d1 J通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;
1 L4 S- Y1 }  Q- W& A9 n  Q7 k8 w3 z
4 v( g* Q8 j7 K$ \2 C 图片10.png
. |/ A4 C/ c% |' ?* D  \
2 d9 F6 u0 a8 D6 f9 c! t8 J( N2 I9 ?$ c
会自动打开MDK编译软件(前提是设置MDK为默认打开方式);) p& X9 V. }5 n/ s* _

# k2 |* L7 q, n. l! T( [5 v* x双击打开main.c文件:(用户代码的添加说明见下图)( y; h+ e" d( f! N3 y

# V$ [0 M0 n! r) Q6 b 图片11.png 2 W' e4 V# O+ @& x
8 D7 F) @6 ]' k7 z

5 v1 o0 @0 ^3 _& D) l! y' \双击打开gpio.c文件:: k) A$ p% G% q6 e; Z
' u- }: b, r; p" J' v( c$ L& R( {* O
6 l* e/ G& O6 E8 j" n+ S
图片12.png
. j5 i  C. v; }+ }1 Q- S$ G3 C
$ u3 T1 K) K% ^从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;) b: R3 G0 `( A, Z8 ?7 X
所以不需要添加任何代码,直接编译即可;
" t) n, P& p. [" E7 S9 G& |! Q9 k# P, x& p3 `( A4 W" P
6 X/ ^, g+ W1 h
图片13.png
0 M4 }! d& @) ~
  u4 O0 g; B+ b* Z" A

& U3 ]- f- Z" T4 x1 F5 @! j5 M接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;, X& S" R. |& q9 V) I' F) ?
1 s( T' {8 k- y; Z4 q& a

6 @' L3 ~1 K9 K- ]: [# f  D
9 w* q/ ]$ I0 c3 @! b
0 r  N* ]+ u6 ^) e- D 图片14.png
$ E# @# ^, ~& p' f1 [& H" ~4 M7 g6 F  w9 J
图片15.png
- m) G+ R2 w/ ]/ T: h
+ t; f5 Y/ G/ @" U( N+ D6 | 图片16.png 5 `9 H# y2 {, t# [. D" B% C
& m7 N# c' A2 [2 \+ r
上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
1 F4 g+ o2 h/ P8 x
  O# G9 m* M. q 图片17.png
6 A/ [6 c5 O5 w& z/ ?: v* P- x, |  A
图片18.png
6 C1 ^: I; S- L6 x: b
2 @0 f* @" e/ t6 C5 g/ I! c! W- C# U) l0 j7 L  N% x

6 }) w' ^: n& W0 J0 f
, L2 V! e. k; i% q9 m/ l+ M以上设置好后,点击”下载“按钮,下载成功后如下图;
; R1 p) I% b+ T
; z6 D" q- f* `3 X; G( D, h
% g* t+ N. m% B& } 图片19.png
7 Z+ u! ^5 m% q* j, X) }4 T% H( S9 S: r9 z+ i
自动运行效果见下图:
" t& }' c9 S( n! b. \$ B  k1 I" _6 [, d
IMG_20220615_095356.jpg
$ M8 O: \6 h7 q: x5 u2 Y
# H0 ^' y. b/ Q. K9 t3 i工程代码附件:7 t# s2 ]& c3 m9 o: M

$ B+ c! [4 f4 i( t1 d: U LD1.rar (3.57 MB, 下载次数: 5)
赞 收藏 评论3 发布时间:2022-6-17 23:27

举报

3个回答
zhdjet 回答时间:2022-6-20 09:37:44
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。. b' A( p* Q+ a4 C9 I* a
zhdjet 回答时间:2022-6-21 11:34:45
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!!
6 D* n- R( i6 ^) @* W$ P) e) U) B
; D" e1 [! \  c
zhdjet 回答时间:2022-6-21 11:37:11
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。/ G( H8 f; o. l. v3 |7 ^# w  D) h

; G5 `  D/ ^/ x& J

所属标签

相似技术帖

官网相关资源

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