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

STM32外设之GPIO

[复制链接]
STMCU小助手 发布时间:2023-3-2 16:02
前言' E2 w" w, s3 S2 T& d+ b
这里的内容主要介绍了GPIO引脚内部的相关内容,供大家参考。
/ l& t3 g4 c& ]: n& U, j
+ x0 C& u4 Z, U
一、GPIO是什么?
& w7 q4 d) f; [GPIO:General Purpose Input Output通用用途输入输出; n4 {' E$ O8 m( ^+ \4 J8 W$ ]5 Z
$ ^; [# [0 z0 z* C% a
核心功能:输入、输出和高级外设的复用功能
) l  E) ~% @  A  @4 q7 o0 N3 N, T9 H- L; g7 Q( S' ^! H# |
e3bddc52a40a4ca3b690d0df4f3d358f.png : p( }: ^) u& \
3 Q  b# y. d7 D% I5 R) M- P
  1. STM32G431RBT6
    " A$ l( p2 t% T1 S
  2. ; g1 P$ G0 M+ T4 n
  3. 4个GPIO,64个引脚" n' F4 Q) @2 e! f1 t- I8 N
  4. GPIO        A:PA0  ~ PA15
    ) M: K9 x, z  ]$ q9 Q" [& E
  5. GPIO        B:PB0  ~ PB15
    " ~2 ^2 {! o6 D: q$ ~, `7 k1 }
  6. GPIO        C:PC0  ~ PC155 u' P- P. K  i% r. K: V
  7. GPIO        D:部分
复制代码
/ n7 w/ O# _  w4 \7 k- M9 }
二、GPIO的功能配置
, ]" H6 G! g9 F; p3 L引脚除了具有输入输出功能还有其他功能在《STM32G431RB数据手册》4.10节6 |: J. y9 X$ ~. L/ ?; U8 H3 d, Z) E

) {  A& h7 ?% d/ d0 h( u! _
5e5afc84f6aa44c0bc901915a0967d4d.png
; d! ~0 f/ A# r  d( S
, L0 D1 A/ u& Q8 A' n) G
3aba8c222cc24b37950b4cdee05598ea.png 6 y( r9 N- L# `, P; X  k' ?
+ Y+ h+ V7 {7 i8 O+ M; ~7 L
如何查看引脚的其他功能?3 g: ~, F' r7 _" l8 l+ ?- t
% E. S/ D! i& w+ I( ]4 k4 e; R0 H
7dbb220e885545728e0ce923be39879d.png 7 E1 \/ U! r1 U. O* c+ Y

! }$ m) _/ B* P
d32eb628ac7a47b3899b8d18b284e964.png
; P; n9 v3 i# s, R1 q, O" T, R. R
- p! e1 a$ M5 D  R* p 由一列一行唯一确定一个具体功能( d2 ?, M! n5 L6 P$ j- t
' ^# b2 _- n/ K, j4 N( |" R# s
如何把PAx配置成AFy? 比如把PA3配置成AF135 g6 f- ?/ L7 o0 _/ r
( X4 G1 ^8 W! v9 I1 k+ }
399aa762a2cc4938904a82a6bd5df017.png
* l& D! n( l- {
$ M  n3 s( @7 X; z4 |% h
23dd71073e4543fd891435d0ef717fa3.png ! V2 K; x% X) r1 _4 s' I
5 `1 L* p( U- H" C8 w' i5 V! P5 |
0acddda974994ed29105a197702eeb5a.png , ?' v+ B" N# M3 [# K
8 s* b7 i5 i7 Z7 D) K6 p& m6 B

! X; I3 V" H& Z* F* n) J& v2 L三、GPIO的模式" E8 o7 a+ V" o1 S. ~# n0 e
1.引脚内部7 k6 A8 p0 F7 }: w5 N

9 `. ]! ~& q+ m" j* u! P6 Z5 y" o
a162133feb104189a558d4944bed6035.png 2 L9 |5 h: W5 R8 _8 [& k! J
+ E% O7 F8 d. |$ Y

4 H( Q& _# I; b6 V/ q7 V* i①保护二极管用于防止因为引脚外部输入电压过高或过低烧坏芯片。; O( b' g: K$ o" x4 p

' Q. |, @/ C0 S+ x2 Z②输入功能,通过一个电阻和一个开关(可以通过寄存器控制开关状态)可以把输入线拉高或者拉低,这个电阻阻值大概为40K欧。' t9 o$ A, p0 D

5 L, g" h' t9 D) V8 H③PMOS管和一个NMOS管组合而成一个反相器驱动输出。
4 V1 W  H* {9 ^* [1 ^
8 C8 W: v+ h9 f) D% Q. F④输出控制具有置反的功能% e2 x! |+ [2 p! A
2 U4 W6 y7 F' @+ w
8 W% z, ^* r4 n4 o3 s
2.GPIO的八个模式
: ~- k/ ^% \- h+ i* x: @" _(1)浮空输入模式
8 K" c! O" ?+ X! @% D5 x' O/ H4 R# X* x0 S' u5 H
5be3a364088c4d69ae6366283e7442da.png
! u, H; ?: N6 d- Z+ R6 |  x1 Q2 g( Z# l3 F6 [: i0 Q
  O2 [! I) u: v; V$ O3 t+ p
(2)输入上拉模式" m5 e! J3 E5 s+ B8 q9 e4 c

( y0 G' ?# r$ N$ f$ Q9 B
379c1cfe0a52497caca8e8900565c150.png
6 n4 M2 p, z+ Y
/ M5 e6 ?' h! T9 _' ~# {; L(3)输入下拉模式5 ]6 C6 d6 q+ S: U6 N! x
% r1 d8 B* z$ X. A/ k1 c
1c1639a163db47c88ab6482765da9d67.png - h/ `3 }* @4 V% m" ]
5 W$ ~/ f  A9 D3 z
(4)高阻态模拟输入模式" V3 z3 e  `! E& F/ u

+ ?+ g4 k' v3 `' K
c396de5e2d7546c58724a4078344202b.png % @1 J3 c1 N- B8 O5 _/ m) R- b8 E
8 p3 m8 ~- l) c' Q1 Y) \& s

! C, Q+ W' V. y- r) t  g(5)开漏通用输出模式
: [, k3 I, C7 d, k4 }7 s' u8 s& G2 d
7046a4ba7ab045419e1f1d6a2427fc70.png - l6 V7 H& ~6 B

9 f' @* |0 j% k6 `+ ~% _' G; J( q(6)推挽通用输出模式
7 V; {7 h, B. T6 W8 R4 a7 |2 l+ U% C: c7 L$ Y) g: z; u. Q  s
75b5d3348a054173b9e5994550347136.png - z9 H  T! Y2 \) s; Y3 e
  R; r7 C7 h; B9 G* ^. k5 |
(7) 推免复用功能输出模式
, f: b2 k2 Q% S; }9 O
; A  N& x5 G5 ?
a863035b3086409e95bd91f2d0886ef8.png 4 x) P; H! ^9 ~. K9 O9 G
) [& Y+ r6 z- @' L& h

$ W+ o4 H1 `* a; C( y+ d5 z! e& f(8)开漏复用功能输出模式) h" u3 o5 K2 h+ J  l
% x0 d3 M/ X; ^5 i& d4 _
8f7c5173642b4d1882e1545017d66517.png
3 S+ v5 p% |  ]; ~
$ O2 l! D: i2 N四、如何配置GPIO的模式
; V* O" ?7 L8 O& i. E
6 G. y5 C6 ]0 I2 M1 b3 `
6622e70fd86442b1a277eb953fac4aff.png 2 K! |  x! V# M( k. f1 \
& x' h3 G9 h% j1 {1 A% H0 z
关键是寄存器----寄存器在《STM32G4系列微控制器参考手册》9.4 GPIO registers6 |% T; L, C; _* Z

6 S' H3 ?$ _  K人通过操作HAIL库来操作寄存器
$ y. F' f% Y" h8 n  [6 [1 K) E, m  e  j  ?4 h( U' a) P, t
b7ccb16b6df049469bc4c514856f7549.png - h4 w* O9 s2 R  T, w
; }* D, N- A5 V- I% |
可以看到00代表输入模式,接下来看上/下拉寄存器(9.4.4); C5 G: J! Q, G! t9 L! d% r
' ~6 E  m" h: p6 A6 ?' j
5246d80b75a54533a084aac298def038.png
, P  [. j+ w  Q: m% k. K" @1 p
* z; e7 m# F( I* T6 A: P9 C0 B
80728d99a3394bc987396dd7512738fa.png
2 T/ {& x; H0 A2 l& I
/ A8 d* A, e1 m( W; ]& Z1 f 可以看到00代表浮空模式
% Y; M( V- B- n, ~2 S+ s以上几个模式都是这样配置,从数据手册找到相应的寄存器《STM32G4系列微控制器参考手册》,再看到组合表示的意思,做相应的操作即可。$ o1 T. p( `; l( ]1 Y6 d; A1 s& f6 ?
————————————————
& F& p, C% t" p3 `1 J版权声明:想要优秀点儿
! ^$ h5 x7 V" U4 L0 v) ^* w& f: p5 u4 T/ t; c
收藏 评论0 发布时间:2023-3-2 16:02

举报

0个回答

所属标签

相似分享

官网相关资源

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