
引言% U& m* L; L' @' f3 k' D& C0 S STM32微控制器通用输入/输出引脚(GPIO)提供许多与应用框架内外部电路相连接的方% u% u+ Q [. R- s" l. X! _8 A 法。本应用笔记提供有关GPIO配置的基本信息,以及硬件和软件开发人员使用GPIO引脚优6 D0 Y/ t$ S% e5 f3 W 化其STM32 32-bit ARM Cortex MCUs电源性能的指南。 本应用笔记必须与www.st.com提供的相关STM32参考手册和数据表结合使用。 ( W6 ]' I! J' l 2 GPIO 主要特性" ~4 G, \2 w& E STM32 GPIO具备下列特性: • 输出状态:推挽或开漏 + 上拉/下拉,取决于GPIOx_mode、GPIOx_OTYPER、和 GPIOx_PUPDR寄存器设置/ J' o+ m, U( V' a$ J3 X • / R; ]- x5 l8 f8 T 从输出数据寄存器GPIOx_ODR或外设(复用功能输出)输出数据- Q" a0 [5 Y& C9 | • / u+ M& T$ s6 @ 可为每个I/O(GPIOx_OSPEEDR)选择不同的速度3 f% H; D: x2 C7 e+ @ • , d! P" ]( a6 f3 A: Z8 p0 Q- l 输入状态:浮动、上拉/下拉、模拟量,取决于GPIOx_MODER、GPIOx_PUPDR和9 D0 j2 d- X6 O( W }* n Y GPIOx_ASCR寄存器设置 • # b# O6 S: e$ g 将数据输入到输入数据寄存器(GPIOx_IDR)或外设(复用功能输入)' v/ c% y2 L8 D0 P0 R( U • 置位和复位寄存器(GPIOx_ BSRR),对 GPIOx_ODR 具有按位写权限) R6 K% ^6 o1 m: X- _4 }% A( D • 锁定机制(GPIOx_LCKR),可冻结 I/O 端口配置 • 2 T( s5 ~8 o% Z6 N7 n 模拟功能选择寄存器(GPIOx_MODER和GPIOx_ASCR) 9 z. b) {& U" m7 _7 D/ Q' g • & E0 k) E- J/ }5 w1 t8 ^ 复用功能选择寄存器(GPIOx_MODER,GPIOx_AFRL,和GPIOx_AFRH) • + c$ v2 l, c, ]2 P2 A8 g/ P' N 快速翻转,每次翻转最快只需要两个时钟周期; P0 |3 S: \, r. D% V' h • 引脚复用非常灵活,允许将 I/O 引脚用作 GPIO 或多种外设功能中的一种GPIO功能说明 8 Q: g6 ~0 @3 b3 z AN48998 g4 F/ A9 V3 m8 S8 h. j 8/31 DocID029601 Rev 1 [English Rev 1]4 T! N- Q3 i: ^, i 3 GPIO功能说明 STM32 GPIO可用于各种配置。每个GPIO引脚都可以通过软件在以下任何模式下单独配置:* {8 ?2 x8 B; p9 k1 G$ A • 9 D# E/ ?. R, i2 ~. S 输入浮空 • . A0 U& G9 f/ X2 M* T/ W 输入上拉 • 输入下拉 • / \9 f4 |& ^, @' W3 E 模拟 • 具有上拉或下拉功能的开漏输出! y p' ]) V$ R( Z' L • 具有上拉或下拉功能的推挽输出 • 具有上拉或下拉功能的复用功能推挽7 g$ r9 H6 P+ l • # q* g& Y# z0 [' r' W. X0 a, M5 p 具有上拉或下拉功能的复用功能开漏- b1 m) j% ]# f# e1 R 3.1 GPIO缩写 STM32器件范围内有多种GPIO结构可供使用。每个结构都与选项列表相关联。 表 1总结了适用于STM32产品的GPIO定义和缩写 , [1 M% C N0 b4 T, m4 i 例如,以下描述涉及STM32数据表中的GPIO:* Z: ^7 g9 A7 ^ PB1 I/O FT表示: – PB1 I/O引脚:端口B位1输入/输出. N$ W7 K' p2 y5 o: w' L% X – FT:5 V 容限 在开始电路板设计之前,请务必参考STM32产品的数据表或STM32CubeMX工具,以检查与目 标应用程序一致的GPIO可用性。 请参阅www.st.com/stm32上有关软件开发工具的部分。* o& Y; q6 s1 x# s 表1. GPIO结构列表 名称 ) v- l2 ]0 g6 Y9 i3 v/ V$ J7 b& { 缩写 定义+ L( m# L: t( o" V& q* A [3 \+ m: ~ 引脚类型 |) C; f; H' r, c- k' o5 c S 电源引脚4 S) M9 p% y7 s2 } I 仅输入引脚' p$ z* b4 j' j: [ I/O * X: ]2 x' B7 J% ^9 s T 输入/输出引脚; m8 W/ h/ p ^# ?; ?4 r I/O 结构. r7 O$ R% {- s3 u& g% ] FT(1) + j1 b3 {. }. G) [6 ]) E 五伏容限I/O引脚; z% {8 x9 `1 c- O7 c4 p TT(1) 7 e2 a7 Y- O Q2 `4 \7 ~ 三伏容限I/O引脚 TC 三伏输入输出引脚(标准3.3 V I/O) B 专用BOOT引脚# T I# ], E6 w' F RST / A* R* M/ F- `) D3 S/ S. p9 z1 j 配有内置弱上拉电阻的双向复位引脚" U/ L: O( v4 }' i% ^+ g 引脚功能5 u9 `4 U' q$ I. B; B6 _ 复用功能 通过GPIOx_AFR寄存器选择的功能& Z1 f1 J* x5 \) y# _. A- ~( f3 p% H 其他功能 通过外设寄存器直接选择和启用的功能 S8 f3 k- A2 X. k 1. FT和TT I/O的选项取决于具体器件。用户必须参考数据表中的定义。DocID029601 Rev 1 [English Rev 1] 9/31" l) j' ]- c. u AN4899 . i4 _7 z9 B+ A+ f0 c9 ? GPIO功能说明 30$ j' x% Z- F/ Y% n( ~; Q 3.2 GPIO等效原理图 STM32产品集成了三个主要的GPIO基本结构:$ q9 y3 z5 V! I; G; i8 f • 三伏兼容(缩写为TC)。 # V2 l- j" G) p6 Z4 J& g P C( I 图 1给出了等效的GPIO图结构。; y/ N7 c$ V9 P M$ Z. L' ` • # Q( U4 e; G$ Z) `# h: x. } 三伏容限(缩写为TT)。 • 五伏容限(缩写为FT) & D7 \$ Y: w) j& I 图 2给出了TT或FT等效的GPIO图结构。1 N, G% Z) h) s/ `1 P) k% I 注: 在图 1和图 2中,虚线框中的模拟开关是可选的。它的存在取决于要选用的STM32产品。有8 [- }2 x2 E. [0 Q9 k 关详细信息,请参见产品数据手册。 在图 1和图 2中,VDD供电可根据STM32产品选用VDD或者VDDIO2。有关详细信息,请参见产 品数据手册。 图1. 三伏兼容的GPIO结构(TC)2 R& r; j$ I- M& |1 @- x: S 注: 模拟域中的寄生二极管连接到VDDA并且不能用作保护二极管。 在一些数据表和参考手册中称为VDD_FT的电压电平在ESD保护块内部。 MSv46872V1 VDD' [" _4 `: m7 D3 B7 q I/Oᕋ㝐# b4 x. l7 e! O2 @4 ?; C VSS" o, @/ X( ~4 y' N7 A$ g: C. q VDD4 ]5 s1 z2 Q1 J5 k5 q8 t PMOS8 P7 y0 E n5 i) {$ Y6 e: j/ F NMOS. }5 v: P! D+ b" S# W) j+ _0 O 䗉ޛ㕉ߨಞ0 r; V$ m. Q" f& }! I+ G- ?8 E 䗉࠰㕉ߨಞ ሲ䙐/ީᯣ VSS ࠰㜳䗉ࣕ⭞གྷ གྷ⭞ࣕ㜳䗉ޛ : p4 u6 n% v& l VSS& [* b' h# [- g6 g- a* f2 e ⁗ᤕᔶީ ⁗ᤕIP ⁗ᤕ0 _% M7 h S7 F9 ] e VSS VDD( V! A. i2 r: i1 \9 D; U$ | ᮦᆍ& V6 E0 V- g+ e |; p' G VDDA ᇺ⭕ӂᶷ㇗$ _8 P) B" F5 V. q8 p& | ф⭫䱱 RPU$ J- ?9 P! G0 b1 a( J RPD5 r- N# m _( e 䗉ޛᮦᦤ ᇺᆎಞ 䗉࠰ᮦᦤ4 X: ]4 G# G" t ᇺᆎಞ ࠰䗉4 S; {7 {; R, ]' E" h ⁗ᤕ" w9 {. k9 R' }9 C; r- X 䘿Ԭ7 l- Y1 g4 @* }# ^9 F, J ሲ䙐/ީᯣ 9 b5 o5 v9 ^( A4 y ESD ؓᣚGPIO功能说明 AN48992 n2 Z5 t& F( f3 {$ j7 ] 10/31 DocID029601 Rev 1 [English Rev 1] 图2. 三伏或五伏容限GPIO结构(TT或FT) 注: 模拟域中的寄生二极管连接到VDDA并且不能用作保护二极管。 在一些数据表和参考手册中称为VDD_FT的电压电平在ESD保护块内部。 选择模拟选项后,由于引脚提供VDDA,FT I/O不再具有五伏容限。8 k. d3 }/ v; G# ]4 D" I4 l4 S 注意: TT或FT GPIO引脚没有内部保护二极管连接到电源(VDD)。过电压没有物理限制。因此,对) z& }, h" t6 \1 g 于需要限制电压阈值的应用,建议将外部二极管连接到VDD。 : e0 [9 K: l& k4 z7 i/ R ; T/ G4 \3 Q; a( {* g |
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南
ST 微控制器电磁兼容性 (EMC) 设计指南