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

STM32外设之GPIO

[复制链接]
STMCU小助手 发布时间:2023-3-2 16:02
前言
% K+ p4 ^/ b6 U0 o0 V1 z这里的内容主要介绍了GPIO引脚内部的相关内容,供大家参考。
; \" t0 t* u7 k" x( P  y; K( y  F" D* \. A8 s
一、GPIO是什么?1 _% t5 ]3 b6 Z* F
GPIO:General Purpose Input Output通用用途输入输出' D0 V4 I, i7 k; [/ y. H1 o
6 v) I1 j" t# [# y$ [; O
核心功能:输入、输出和高级外设的复用功能
, {' a0 U) Y/ s0 _# c3 O
+ }+ A) l8 o5 K
e3bddc52a40a4ca3b690d0df4f3d358f.png # I' b* O# O2 a& z6 ]8 n

* ?. b, Z, p$ v
  1. STM32G431RBT6& D% W/ G) ^2 R
  2. % W6 {0 ?6 T$ u; `+ Y) e1 }
  3. 4个GPIO,64个引脚, q; u2 @5 p; r1 c% Q4 e+ K. t+ f
  4. GPIO        A:PA0  ~ PA15+ Q  g. Z3 y( d, c7 f! M
  5. GPIO        B:PB0  ~ PB15
    7 @' y9 L' ^) o: G
  6. GPIO        C:PC0  ~ PC152 |8 p. I) ]! ^7 @% V' D: B+ n
  7. GPIO        D:部分
复制代码

" m$ u' j1 x, }  k- I二、GPIO的功能配置
9 C& ~9 h1 J1 O( ]2 p引脚除了具有输入输出功能还有其他功能在《STM32G431RB数据手册》4.10节1 I1 Y" x$ r8 R- N$ q

, R0 O) G* M. R8 ?6 ]
5e5afc84f6aa44c0bc901915a0967d4d.png
$ X, T' n6 u; A7 l$ G
5 e" K; J+ n1 G5 @
3aba8c222cc24b37950b4cdee05598ea.png % U! X- {, Y! ]) N; X! d$ |/ ?
* w% a) n; J0 R. ]# N2 J* g
如何查看引脚的其他功能?
1 P6 m% O, A$ w: V% P1 ]3 F8 E* C
7dbb220e885545728e0ce923be39879d.png * T+ k7 G6 x6 b, c

9 ]! e5 R1 X) g( t/ T6 H6 ?
d32eb628ac7a47b3899b8d18b284e964.png
$ t9 O) `  l% p" o# M7 g( i
& t$ i1 d6 g6 E 由一列一行唯一确定一个具体功能1 A+ v* S& q0 G- s9 l

5 X  H  B1 x4 f7 ^$ h0 V如何把PAx配置成AFy? 比如把PA3配置成AF13
4 n: G# _5 V9 O, t/ s1 i8 m: u( Z$ g+ O7 `4 q' k" x
399aa762a2cc4938904a82a6bd5df017.png 9 m2 y8 {6 D+ A  y" i

, o* R# M6 Q% D# j
23dd71073e4543fd891435d0ef717fa3.png 0 Z" z* ?9 N5 Y1 t

2 |3 X' R  |9 n; O5 u. c; j
0acddda974994ed29105a197702eeb5a.png 4 U$ ^4 |* p1 \% s; a' Y
2 j- G/ G* Q$ H& j6 u( e

1 Z2 K) R: S! [8 Y* N! [- _; e+ D三、GPIO的模式" I6 J* M& n& h+ m- [2 m: L) r- z
1.引脚内部
% H: t/ S  d" _8 K$ T
! w5 w' h! G8 \9 l' _3 @' F
a162133feb104189a558d4944bed6035.png 3 F! P0 l1 A$ m, ~, a( C& Z4 G0 o

) F# B0 ~: _6 x. ^: _8 J; e# u
3 |6 S5 A$ X6 I* X" a
①保护二极管用于防止因为引脚外部输入电压过高或过低烧坏芯片。
; j" E( T$ \/ F
4 r0 S! p1 h, V- O②输入功能,通过一个电阻和一个开关(可以通过寄存器控制开关状态)可以把输入线拉高或者拉低,这个电阻阻值大概为40K欧。5 R- \+ b5 @) ?+ J$ g/ a5 ~! v
5 K- w3 O% \  |& k( u
③PMOS管和一个NMOS管组合而成一个反相器驱动输出。( ^/ v4 W/ E8 W( W3 H
  I8 J8 F: g! `! _
④输出控制具有置反的功能
  K* k! [, u6 @7 Z6 y$ T; w9 f) {! O+ k) g7 `

: U' a, m5 E. `2.GPIO的八个模式
5 ~0 C8 J  x, s" L/ O9 Z(1)浮空输入模式% ^5 T3 P7 g; C* v$ R" X3 o

2 \7 S  j1 V, e2 p2 Z( R
5be3a364088c4d69ae6366283e7442da.png
5 {. G. B( N0 S8 f4 [
, l  w& R8 _) Y% E# m/ c6 X! [
& ]. E0 Z- w8 c; R% O
(2)输入上拉模式; c7 H) F3 _, W2 J2 _5 F& w3 ~
* Z5 |) k0 u+ r# Y" _
379c1cfe0a52497caca8e8900565c150.png
+ _: ?7 G0 I+ j7 \  c& m) v
( r0 A" J' ~0 R0 g/ O) m(3)输入下拉模式
) O* C  R1 B+ m9 K
, p. A, r% F) B! p- V
1c1639a163db47c88ab6482765da9d67.png 6 R/ C7 B6 z7 l% D$ e5 e
7 p4 u' p9 ^8 J$ n. B
(4)高阻态模拟输入模式+ ]5 v& V1 y7 u1 K8 m2 T

+ ]6 R/ a8 Y; H0 d! q* x
c396de5e2d7546c58724a4078344202b.png ' Z4 [$ N% [8 m8 u" A

" B" [/ |, c7 C0 P
% Q( }8 s4 J' t2 G
(5)开漏通用输出模式6 O3 A0 @; l+ U4 _/ r1 Q
" i1 o3 B! D* B& L8 w
7046a4ba7ab045419e1f1d6a2427fc70.png   I, _5 v( f% w, @" F3 G8 s

" D7 x; b/ o% r! G! w(6)推挽通用输出模式* o) H( U5 W7 }  l% o9 V: r7 R

) H: d" o0 ]4 Z* X, o' i8 G
75b5d3348a054173b9e5994550347136.png
0 X0 s8 p6 c) K" r- y5 V7 r

/ c  a! W1 c7 B$ H% M$ ?(7) 推免复用功能输出模式" M: T% N2 d) r( D5 T8 _
% e5 q3 L# k( d# q
a863035b3086409e95bd91f2d0886ef8.png , P2 J2 ?3 e- f

: K) }" ~( [& P& P& y4 |" D4 n

+ h/ ~) X+ Y& L8 c. V) \(8)开漏复用功能输出模式1 @% Y% ^/ R6 I' [+ V

( r" T1 \* O: [9 Z/ ~
8f7c5173642b4d1882e1545017d66517.png
4 A- F/ y, U7 y# Z0 P3 J8 }+ i$ G3 X( G  h1 h; s; K' q
四、如何配置GPIO的模式  k3 m- g0 `2 m  x* N+ \

' l; k9 @6 ~1 w, U( ]% Q( M
6622e70fd86442b1a277eb953fac4aff.png   V- C$ l5 d9 i- j( }- K! r  {

5 N% b. q' a8 f' q3 F3 f& h 关键是寄存器----寄存器在《STM32G4系列微控制器参考手册》9.4 GPIO registers
0 c3 M9 R) A. M% ^9 c+ q/ }5 d( X
# R* Q6 c1 A6 f8 }- j, S* s$ _0 ]
人通过操作HAIL库来操作寄存器0 r/ f+ c& l0 K( V: C
, E) B3 M) S% J3 b' [
b7ccb16b6df049469bc4c514856f7549.png
4 m# S( l( S  D1 `
5 t# ?  P2 X0 V' @7 R5 X可以看到00代表输入模式,接下来看上/下拉寄存器(9.4.4)
5 y: b0 k3 z! @4 I  C
1 B0 }) Y, z9 j+ j
5246d80b75a54533a084aac298def038.png
; {6 M$ b: a5 C+ {
, g7 C- s1 I; Z$ j9 C" s" c
80728d99a3394bc987396dd7512738fa.png
) Z! a+ Q0 ?% i3 T8 _/ P2 U. e; l9 ~; v2 N! i0 m! a
可以看到00代表浮空模式4 f8 X+ d6 M$ E. v% o  i  J
以上几个模式都是这样配置,从数据手册找到相应的寄存器《STM32G4系列微控制器参考手册》,再看到组合表示的意思,做相应的操作即可。/ _! j4 j# a9 k# c* F
————————————————
+ y. P1 J) ]. c3 }4 E' W- Z版权声明:想要优秀点儿
& k3 \, W0 u1 m% H) Y& O+ r7 X& q; P1 \2 U. P
赞 收藏 评论0 发布时间:2023-3-2 16:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

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