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

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

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

! g. f+ z/ q. f& i, d3 E/ f
, W; ]7 k$ ?8 ?9 f新建工程有两个选项,下方图片给出了相关说明,此处我们选择第一项,以MCU从零开始创建;
" i0 Y2 s; h6 ]
图片1.png 4 J) m% l; x; @- M! _: W

5 T; f. ?5 g5 ]# o* s
( K7 e+ I2 h+ ~# }- C9 [* _输入所需MCU的型号相关字段,此处输入“H7A3”,选框中会下拉出包含此字段的所MCU型号,我们下拉到此板卡主控MCU的型号处,点击即可,此时窗口右下角会出现此MCU型号的;
& {0 c% K. O) ?" A+ F; q5 u" ?$ D; s& E7 C) V* k

( y! J8 D5 h3 M0 f0 s 图片2.png
6 a* I! X' o4 Y- z" h  ^# d( B7 \* \, T双击MCU型号栏,即可进入工程的相关外设的配置页面;(会出现一个有关预设置存储保护区块的窗口,点击Yes即可看见调用进度条)
9 ^- \9 `& `3 U+ }
; J2 V8 C( @/ l! F
* m8 o' A; z3 P* G/ u1 L 图片3.png
% n0 o0 v* K5 w4 @. w
# j+ C( `' @- d$ [ 图片4.png
. s9 G. e+ u8 W! X5 s$ Y0 A
7 J& i: g2 e. q% ^" N6 N
. U' b. U- Z3 g8 l- L. B3 ?6 ^" Y# Z5 M! L: G7 V0 m

+ Q# @' r. N! F- E参照板卡的原理图,可以确定PB0默认控制LD1,故在工程中针对PB0引脚做以下相关设置;
; X- h9 I  v+ {8 c$ w! U: E
- O+ P- R, v4 t3 M2 v3 m 图片5.png
  b  t4 {- ~5 M% i) n8 Z2 q6 h$ ~* }2 t) e+ ]  h: u% f8 E
图片6.png ' y; P+ [0 R2 ?5 @6 E
# G4 {4 h- p2 }/ Q9 ^  h

" W+ I& P8 O8 X' _; x0 W9 V4 w% ]" r
1、设置PB0为GPIO_Output模式+ v# b+ F2 L8 z3 {
2、点击展开左侧外设选项栏的“System Core”
& M8 ~" g, q+ R  ]3、再点击下方的”GPIO“) u. l+ k/ R' [0 Z! z+ H
4、在右侧出现的”GPIO Mode and Configuration“窗口在点击下方的“GPIO”栏中的“PB0”
4 _6 h9 u5 E1 H: w2 K4 v8 `5、下方会出现“PB0 Configuration”操作窗口,具体操作项说明见上图,此处更改“GPIO output level"为”High“,设置”User Label“为”LD1“4 J3 |! n7 l' m& _( A  O

- Y& c) C! X3 P, c2 S, A0 k( q5 f因只是简单的点灯,故时钟设置为系统默认即可,此处不进行操作。
$ F3 H5 M* U, }4 `7 m) q, G" v
0 H/ P  L' l: w6 Y) [3 a( j. V以上设置完成后,点击”Project Manager“进行工程的代码生成相关设置;1 x2 G/ Q' X. i( v, o. A

5 U, k+ n. k. ~% I3 P! l8 E9 y
6 t! B* s1 G) n: m9 x 图片7.png
7 K! ^# P' \4 q- S, W
  i  z# ]# O" G  D9 z进入“Projcet”,1 H  I: O( F. P
1、设置工程名称为“LD1”,3 _- S' {# l7 ~: Y
2、选择工程的保存路径$ b5 s" q3 b/ Q  F. L/ I7 N
3、选择编译用的IDE及版本# {, u" y' a/ x2 q+ M

6 p/ N* ~2 {7 A  d
3 A6 |' a1 i% Z$ Q9 ^4 f1 @8 m# u' @
- @0 A, R" {9 r: G. g( n点击左侧的“Code Generator”,勾选下图中的选项,具体看下图中的说明;
+ H) b6 }6 A! }) P) ~3 Y! x' U0 z; g( d( H7 w  b& ?0 q
图片8.png 2 m' I& f& W% f7 T/ ~& E
% f$ Y4 V* L: }9 X
3 I8 {1 l2 a  H
点击左侧的”Advanced Settings“,点击“Driver Selector”栏中的”HAL“,出现下拉窗,点选"LL"选择以LL库生成代码,原因见图;下方的“Generated Function Calls”栏内的两项保持默认即可,原因见下图中说明;
# \5 f% \; r+ I% o
" c2 _- M) s& H; ^
图片9.png
5 U. R9 e% ]6 L& k# Z5 a/ S: g; Q3 v: g  `! \! S
通过以上操作,已经完成了点灯所需的相关所有设置;点击窗口右上角的“GENERATE CODE"生成工程代码即可;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;
& N% P6 i0 `4 S8 x6 Z+ w+ ^$ N" w
  Z4 ~8 F+ G8 P) ` 图片10.png
: L; p: z2 b+ t/ ^* S! i6 z3 |" s* r) c9 U
6 _% f& s; K6 k1 g4 N9 w
会自动打开MDK编译软件(前提是设置MDK为默认打开方式);
& t: k) [; |' o  Y0 O8 w: k$ }: X7 b
双击打开main.c文件:(用户代码的添加说明见下图)+ `1 m; q9 Q) w) V- z% Q
+ Z0 L& k- x5 w1 N4 O# c7 B1 |
图片11.png 1 t, f" I4 C. R; B

! s) y7 o8 W* S9 ^* u, k# t1 N
$ O  V) f" `. `+ u6 }双击打开gpio.c文件:
# Q) b! a% R7 E) H
* |) O* Y, p+ _5 x# e( K( U+ J; B6 h5 x/ A5 C, d% ]7 e8 j
图片12.png 0 ?* Q' O/ |8 S" P$ [
, L: _6 m7 I6 X1 a) ]' ~" S
从原理图上可以看出,PB0输出高电平就可以控制NPN三极管Q1导通来点亮LD1;
: x9 `9 }& |% a所以不需要添加任何代码,直接编译即可;: z, R' m/ p' n3 W

4 I0 y0 f2 D1 k

- @5 P  C4 n0 A/ Q8 m9 J 图片13.png $ d8 s0 N( x, B1 v$ @/ x

5 F$ o) L' W- {4 k
& D0 A# O6 L! U6 F
接下来设置板载St-link进行下载程序到板卡;点击MDK工具栏上的”魔法棒“,按图片顺序进行设置即可;
$ J& x! [* B) `/ \/ X# p' i6 O$ O( J2 }+ w- T" O3 Z: D
. E% P: G: r# ^7 c
/ n# o0 G$ F! y. k% a$ W" W

- [) |0 d' P4 }" ]& b" ]& m 图片14.png * @8 F$ t9 t* B5 S5 m

8 o  z$ e* N2 p% V7 T% ^9 o 图片15.png 9 Y8 g) [3 U( v6 a" \
: m. G# D/ n2 P: [9 i
图片16.png 1 W, ^( O( f( M0 Y# Q! W& D
) E# p9 A7 r9 x% s! B; Q3 e
上图的编程数据空间段如果在需要设置的前提下没有设置,会出现下图中的错误提示(此板卡照图上设置即可);
  L  v2 @  V, j% a) i! t+ S; ~; _* X9 y/ w6 f
图片17.png
  E" n+ l" O  b  S' c2 p0 g$ s, i+ M! m# m4 x! `
图片18.png . |0 c% O1 u# x* l( ~0 y
* f8 Q6 K5 a9 a- b8 v7 b% v
' d  n# u3 i  @& [, M! d* H; V

: b3 R4 h1 i" U, q2 ?* C
: O/ d' T6 v/ l: E' I& E以上设置好后,点击”下载“按钮,下载成功后如下图;
) C5 z5 M5 t; J- Z
# t' D, N# O' H1 `" w$ U
# U! S- q* X$ y+ m  F: i2 F 图片19.png
" D' e! h# w% G4 J/ [
' J- X, l( w% [自动运行效果见下图:
3 s+ G3 W& c0 W# L1 R8 o" t3 `( P, v6 l. c* V4 d5 I1 R6 [) ?
IMG_20220615_095356.jpg
* T) c  l' s* E. [+ p9 }
9 H% X5 O) h: i& [工程代码附件:+ o- l' S. \( |" F0 [

4 x$ |3 {2 k. Z! E LD1.rar (3.57 MB, 下载次数: 0)
收藏 评论3 发布时间:2022-6-17 23:27

举报

3个回答
zhdjet 回答时间:2022-6-20 09:37:44
论坛什么情况,复制过来的时候还有图片,现在没有图片了?无语。。。
  M+ h* v$ a9 r; d9 [6 Z5 D  T* ^
zhdjet 回答时间:2022-6-21 11:34:45
为什么复制粘贴的图片不能显示,这个论坛真的是搞人啊,无语,编辑个帖子真他妈难!!!!
3 W3 G8 {1 f8 ]* K6 S# p' m; H! z: F% w/ }3 A
zhdjet 回答时间:2022-6-21 11:37:11
自己的从截图工具中复制,粘贴到编辑窗口,结果提交后,不显示。。。。。。,发个帖,找不到入口,编辑个帖子,提交图片给吃了。。。。无语。。。。
# ^9 W8 Q" s( D& H( L7 H# r1 X8 D: t  |/ \1 C9 \4 B6 `( A5 |
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版