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

【经验分享】STM32_H7_GPIO

[复制链接]
STMCU小助手 发布时间:2021-12-18 17:42
声明:本篇博客并不是一个详细的教程,只是对本篇涉及到的知识点进行简单整理,罗列出其中疑难、易引起误解的地方。若想对该功能进行全方位的了解,建议直接去看手册。本篇博客分为功能介绍、cubemx界面介绍、hal库函数功能说明、例程Demo四部分。
- ]* {& n3 p" \9 D  _6 n) y- G1 X* j0 I, t+ u6 ~+ f
STM32_H7_GPIO9 t1 n6 K* ^0 N) R( i* M" d

* s$ d' ^6 l2 z1 m% l功能介绍0 ]' C: X! }+ D6 u: a- w& }
-摘抄手册
) ~, O0 o. v' h8 e) T
9 S3 B" L: c/ S6 g+ t, j! _2 y简介" ]5 O2 N7 C4 a/ R) S; C. v# _
每个通用 I/O 端口包括 :
+ t3 }  Z! N- x. O( p) }2 ~- K5 j" J# _  `+ r$ ]
4 个 32 位配置寄存器 (GPIOx_MODER、 GPIOx_OTYPER、GPIOx_OSPEEDR 和 GPIOx_PUPDR)9 T( Q4 p5 a: b/ X; j; |$ h! m8 b
2 个 32 位数据寄存器(GPIOx_IDR 和 GPIOx_ODR)
, |# X1 _# L0 R2 C( c, D1 个 32 位置位/复位寄存器 (GPIOx_BSRR)。  n) @# V5 _  x- b
此外,所有 GPIO 都包括 :6 k, A/ Q" ]1 w5 H
$ }3 a- [- `/ E% C$ ^1 t
1 个 32 位锁定寄存器 (GPIOx_LCKR)* o2 u0 r7 D" i" Z
2 个 32 位复用功能选择寄存器(GPIOx_AFRH 和 GPIOx_AFRL)。
: C2 `: S3 ]8 }/ X主要特性8 E; R# X, ^  c: m7 N# b7 Y
从 输出数据寄存器 (GPIOx_ODR) 或外设(复用功能输出)输出数据
4 ^+ T. R7 L! V' F" u将数据输入到 输入数据寄存器 (GPIOx_IDR) 或外设(复用功能输入)
/ w, G2 ?6 l0 `  k- X3 R可为每个 I/O 选择不同的速度
1 i" U" |0 H' c8 G( v置位和复位寄存器 (GPIOx_BSRR),对 GPIOx_ODR 具有按位写权限4 L4 L6 X) }# d/ ?) |- i
锁定机制 (GPIOx_LCKR),可冻结 I/O 端口配置
$ K& L3 l+ O* L$ m4 a4 D快速翻转,每次翻转最快只需要两个时钟周期6 j( @/ U' W5 U
引脚复用非常灵活,允许将 I/O 引脚用作 GPIO 或多种外设功能中的一种5 P& ]! P( ~( Q2 r: W+ N( X* J
可通过软件将通用 I/O (GPIO) 端口的各个端口 位分别配置为多种模式:  J: D: r$ e9 Z  F+ S2 V5 A
4 R2 [9 H# f! t! S1 K& |9 O
GPIO框图
! D: A& E6 G0 r! |. \8 @, T* r  }/ A% a8 Z( O9 C/ g) m
20200312130916898.png
, W9 p8 c, s1 F0 m: z" `: ~
" L6 A# J6 P) O  b8 E框图说明:
/ F" _: I* g0 G- c! M/ ~7 C只需要对上图中的黄色框进行不同的配置,就可将通用 I/O (GPIO) 端口的各个端口位分别配置为多种模式:/ w* f  _! [( ~6 p

9 c; X0 N: Q* r; e5 s9 a输入浮空
0 e5 n- Z) R7 C2 ?2 _输入上拉
7 p; Y& a, V0 ~$ k6 t# n% k输入下拉
9 H2 ]7 u5 p$ V7 K; e) M8 b! l模拟输入: n" J! Z3 l: ]7 y+ V) v
开漏输出1 B$ N1 r( U* g. I* U8 V$ R. `1 n/ V' ]
推挽输出: }% S9 P( l: g2 ]3 V: S5 I, l7 G, m
复用功能推挽  j: w2 ^, u( E- |
复用功能开漏
6 v: M) d; P6 F0 A具体如何配置,在手册(RM0433)第11.3.9、11.3.10、11.3.12、11.3.13小节里有详细的描述,这里不再展开说明。
7 k& d* `4 Z, V3 |) g- h
7 j1 B" Q. b- i& X补充描述
6 ^4 N, d& l' z  P/ I6 O上电复位后引脚状态:
3 r% K, }, w& z3 l
: @$ E& J- F- ~  z在复位期间及复位刚刚完成后,大多数 I/O 端口被配置为输入浮空模式。但以下调试功能相关端口例外:
% d! v. V8 ]* Z  A% Z8 D* F4 v( r! P: O
PA15:JTDI 处于上拉状态  p. I1 h$ c# C$ x  J" A) d. o1 B
PA14:JTCK/SWCLK 处于下拉状态6 w4 c  g+ A$ U; j) x; n1 e4 a! i
PA13:JTMS/SWDAT 处于上拉状态4 K- e& |! `3 F7 A% [" c  J" z
PB4:NJTRST 处于上拉状态
8 l7 @1 Y! _; {6 pPB3:JTDO 处于浮空状态4 F$ m6 o1 e+ r+ m

  U5 h) u$ ~* D) H
4 w% v& N4 ~. h4 J: Q* |% g输入数据寄存器每个 AHB 时钟周期对 I/O 引脚上的数据进行一次采样,在将IO配置为输出时,仍然可以通过输入数据寄存器读取IO电平
- [8 D, H; O+ T, y( s6 y; ?
" z. `$ y/ T* L9 G) ?/ lI/O 引脚复用功能复用器和映射
8 `* K0 b# \  h& d) E+ N
# _6 |) F" @" @& y7 X' R9 g/ Z0 w要在外设复用功能配置下使用 I/O,用户必须按照以下步骤操作:+ h$ }3 [, w4 g. E: i2 O1 e3 v

! W6 S" ]5 W0 w在 GPIOx_AFRL 或 GPIOx_AFRH 寄存器中,将 I/O 连接到所需的 AFx。
. E! d$ o8 g# L/ x2 G* W通过 GPIOx_OTYPER、GPIOx_PUPDR 和 GPIOx_OSPEEDER 寄存器,分别选择类型、上拉/下拉以及输出速度。* Q( c5 `* D: Q1 {/ a: ]
在 GPIOx_MODER 寄存器中将所需 I/O 配置为复用功能。1 L! P5 h/ L- {* j1 Z1 X& m
对于 ADC 和 DAC等外设,请查阅手册后进行操作。/ k; M8 F- ~, q: S0 Q3 S% i
# u- U; S+ f  E- ?
GPIO寄存器
0 Q% k3 F2 ?( J- n$ C+ {7 {请查阅手册(RM0433)第11.4节。/ w+ E: J- c: j6 Y5 F/ x
; N, s3 e! p, }' a, j
STM32CubeMX
3 o1 y' x/ C! V! T' ISTM32CubeMX关于GPIO的配置比较简单,截图说明如下(以输出模式为例):6 X6 q+ ~4 n4 G8 g( o1 X6 N
- p8 a) v3 |) K- x* c0 D, S! c
20200228135621177.png

' E$ {$ l+ w& ]" f8 q7 S# B" R2 y( ^9 G) V5 C8 L+ c" r/ @
0 l* c0 R; E. U: ~/ F! p
HAL/LL库函数功能说明
  f  j! @1 ^1 t. }9 a0 _  z4 R控制GPIO相关的HAL库函数不多,只有8个,列表如下:$ Q" d6 `: g- R" [/ p$ o! Q

% g3 J& r# Y3 v5 o+ x: o5 z
`{Q(7G2EMBILGZMG9~2K_9F.png

, e3 Y2 Z6 r8 H7 ?; q8 h7 d
3 Q- j1 L9 }1 W) B) L详细功能去阅读库函数说明文档。例如:STM32H753xx_User_Manual.chm,可在官网下载。; w! [# Q, m# C7 g  G7 P# B8 ^

/ g& V  F+ c. h3 wDEMO
+ ^$ v& Z2 |4 F+ q8 o7 h* [/ f3 r) m所有DEMO均提供Keil和STM32CubeIDE两个版本,且同时在github和码云进行备份。
& `, E4 K& K6 g: R/ b& {  S( V! A
N7{()2%}}ATUX_)RV%MSIMM.png
$ V8 u# F; s3 D6 s) R

; M1 x# B. q; f8 w( U7 W7 V. L- F: V8 q/ {
收藏 评论0 发布时间:2021-12-18 17:42

举报

0个回答

所属标签

相似分享

官网相关资源

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