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

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

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

3 h8 a, L6 p  i' Y" A7 N9 q新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;
- k  L  b( O+ `* I& e
图片1.png ' e& n9 g: c6 g: s9 M: K2 A* q' E4 K
  t" q* }* z9 K* V
* s  M* w9 d2 Y8 [
输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的;4 t8 y0 z* Y# t  j4 c

+ B: X( q: B! l2 e% t& ^  W$ p" N9 }6 z
图片2.png & H8 t: A7 ?9 V# h3 q
双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条)" j3 ]+ A& S! p% Y9 E  {' p
" G! Q5 d  W9 T+ f$ z

) J( l! z4 X6 ^/ M* O+ H8 n$ A# | 图片3.png
; N' B8 a5 z5 ?- P) A, B+ L7 P, \7 s6 c' G. ^
图片4.png # X# Z+ K) e% _# ?' f
7 j# ^3 r: R! _8 m
& f! w. [& W6 b. G
: U" G; a* t) V% Y' @; O: d

7 c+ \/ G. o" q$ o3 {! k$ U参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置;3 t: T: F& L( O( n- t- L$ \# X3 d
1 j0 ^" G# Z* b, Z% m! S
图片5.png . r- T2 m5 W* B/ I

3 E" L7 b3 ]) m3 _4 m 图片6.png . X$ u5 U, ]2 O6 r5 z( P
0 g, _1 F3 b, @7 m$ M' G! V
* n1 t) m. Z: n( R2 v
: [/ y) N/ a" T, B9 i
1、设置PB0为GPIO_Output模式  ]+ q! A2 ~: y. R& `
2、点击展开左侧外设选项栏的“System Core”
+ Z0 L1 s& x" m0 n3、再点击下方的”GPIO“/ B1 `% d  M# W1 z+ `1 n
4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”
& ]4 V( b: \3 }2 \6 r; x- T5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“5 k- U) B; U( n  ]
6 y( W) X2 }; S4 R8 A' `; L
因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。
3 `( ^, @5 g2 B0 p' k4 D" C
1 p0 x; s$ w4 C以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;
6 u: A5 M; m- P9 J% P
9 \( b+ C/ q; i: z) l
5 S: y/ s8 Z# o" n+ S4 Q* c0 y" u! A 图片7.png , f2 S3 O% x5 i- e2 m7 A

: b  u& S- C) p  z0 c6 ~( q进入“Projcet”,0 t. K" J- A# g5 t1 \
1、设置工程名称为“LD1”,' E" {. N7 q' `7 \! _
2、选择工程的保存路径
- s" Y5 ?: Y: Z3、选择编译用的IDE及版本" a6 P! u% l7 [/ X- `

9 O: k# f  j4 k. q3 p: t
; x+ [+ A* u( j6 f
2 b$ s; R4 j# _( p/ x" t点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;
  r1 ~: ^. S3 E9 N- l1 U" A' X/ j- g; ]/ Q
图片8.png 0 G$ H9 |3 X4 c3 l& B
' \' ?# \  C; w

0 [/ Q, s4 Q# f! `点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明;+ T$ K, Q, h" D6 B0 o% z' m: K
. z; q0 u2 N+ `% u9 N  x
图片9.png
8 p  D( ^+ G4 I: c( O
8 Q: F0 u. e1 E/ R. N4 p' Y通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;
/ t6 @5 c3 Z8 ~1 p/ F% Y( G' _5 G, F2 A2 I
图片10.png 6 w6 i! s- A0 o8 q/ b0 t; }/ C0 [

- i. e% k$ m: y4 A4 c
# X' M! N3 `1 X# v: a6 F/ G0 L$ F' {会自动打开MDK编译软件(前提是设置MDK为默认打开方式);* W& n7 O( `" t5 }4 Z, l

3 h; K7 N. j# o* D7 t双击打开main.c文件:(用户代码的添加说明见下图)
* b! m: e: T6 N' X( z* ]# {) t" P8 r5 c+ i  N$ j
图片11.png 0 \, ]' x9 |3 K# o) k! G3 R

# I" N6 S3 |. V' U1 i: {2 y$ U& m# C$ X1 `6 M; h0 p8 K; @2 m. p
双击打开gpio.c文件:, K* y. L* l; T& d0 [: @
: }. i, X0 y5 n& n3 Q' V4 F+ x3 ]! _
9 E5 F5 e4 t  s# N
图片12.png ' v& Z3 [3 m8 s4 d; s2 q' _

. J( E* i; {' L! L8 P5 j! F, U从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;
* A& k% v8 Y3 m! ]* {# O所以不需要添加任何代码,直接编译即可;% t1 j3 h3 D, z, M+ j

& {- b- _( J& g3 i$ W& u% }

) O" o( r( ~" U3 D$ [ 图片13.png
9 r3 d3 b$ q1 \0 x5 M3 H
1 ?% U" l6 L: a  S$ R
4 ?4 ]5 v) i6 O: @5 g1 V
接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;7 P8 B/ I2 [; F8 ]7 Y
4 m1 P4 q0 ?* y0 r: s
  E8 i+ U6 A# I

' `& T- \8 I) _& O! \  b* l  ^& W: b0 c3 S0 C- J* ]
图片14.png ) k3 r4 z8 g4 r$ B3 J0 H
/ }+ a2 [) ?) @  ~& j
图片15.png - d" _, z  P, W1 O' i* T. N' s

% G) s0 H  l  [% @2 O 图片16.png
+ C$ K$ Y! y, o! V/ [- f! ]7 y- a/ M, u$ I/ M
上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
+ j9 z' b" @- Q4 z! T
  R/ e& M' k! S' S+ y- c 图片17.png 8 {3 r9 q% h" b/ P* R+ b
  A! q4 O4 z$ |2 l- a4 Z
图片18.png % ?$ M2 n0 ^- {( r2 V

2 \5 b7 W* T. E4 ?5 j& q, k4 ^2 r

3 }4 n; ?" `+ z1 {  C% ~+ Q% Z& E
5 c2 Y( N, z1 B# I以上设置好后,点击”下载“按钮,下载成功后如下图;
& f( R+ f; ?6 s+ x+ u' O
9 s) l6 P7 b& `+ N$ ~4 Y$ @
, b5 N. B8 i$ w6 {" m& [ 图片19.png ; }9 o6 Y) B" R. }% w

0 M- x5 k& ~, r! B自动运行效果见下图:" F9 s" c9 P3 ]$ o) z' G9 A, n
  C% C# V# m2 j$ w) |6 ^
IMG_20220615_095356.jpg 6 E6 L2 g! @- d/ k6 p4 y& q0 u
: H. f: U, M3 c/ E0 X
工程代码附件:
% R7 j0 T- l0 T% N. p( _) U4 E3 S: X+ e  k0 h- w( B4 j
LD1.rar (3.57 MB, 下载次数: 4)
收藏 评论3 发布时间:2022-6-17 23:27

举报

3个回答
zhdjet 回答时间:2022-6-20 09:37:44
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。& ~/ R& ?2 O  c4 d+ w+ v; z
zhdjet 回答时间:2022-6-21 11:34:45
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!!
' ?( @* R4 J; h% Q3 I9 Z
! p, r6 F0 @2 R- \
zhdjet 回答时间:2022-6-21 11:37:11
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。' }. }& j3 c! X) G; s$ c
: S1 I! }+ ~3 a  s! E  ~' e3 `

所属标签

相似分享

官网相关资源

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