
引言# x1 ]5 n* U+ K. B! p STM32微控制器通用输入/输出引脚(GPIO)提供许多与应用框架内外部电路相连接的方, C% }$ W5 ^/ g: {4 }1 T# t 法。本应用笔记提供有关GPIO配置的基本信息,以及硬件和软件开发人员使用GPIO引脚优 化其STM32 32-bit ARM Cortex MCUs电源性能的指南。 本应用笔记必须与www.st.com提供的相关STM32参考手册和数据表结合使用。 . U; r+ L( u0 r% f9 S8 { 2 GPIO 主要特性 STM32 GPIO具备下列特性:7 R) }; g+ u1 Z' K • 输出状态:推挽或开漏 + 上拉/下拉,取决于GPIOx_mode、GPIOx_OTYPER、和0 }- I! \) W" ]/ |! Z$ a3 s GPIOx_PUPDR寄存器设置. k" `3 X0 n" g$ o( k8 I • 0 G3 m+ R+ R: k7 S 从输出数据寄存器GPIOx_ODR或外设(复用功能输出)输出数据* ]* ?( g( R' a( `6 l • 可为每个I/O(GPIOx_OSPEEDR)选择不同的速度7 q( T. p8 R* J8 @3 k( @: l • ) h. F7 x" f5 {. I5 b% _8 H 输入状态:浮动、上拉/下拉、模拟量,取决于GPIOx_MODER、GPIOx_PUPDR和 GPIOx_ASCR寄存器设置 • / `9 J: Y1 z o/ C' f0 q- K 将数据输入到输入数据寄存器(GPIOx_IDR)或外设(复用功能输入) • 置位和复位寄存器(GPIOx_ BSRR),对 GPIOx_ODR 具有按位写权限2 W/ F) m9 Y. I • 锁定机制(GPIOx_LCKR),可冻结 I/O 端口配置 • ) `, k5 U/ O. t. @0 r 模拟功能选择寄存器(GPIOx_MODER和GPIOx_ASCR) • & R% p q A0 V$ r) q 复用功能选择寄存器(GPIOx_MODER,GPIOx_AFRL,和GPIOx_AFRH) • : t ?& }+ b: L2 n( t+ Y 快速翻转,每次翻转最快只需要两个时钟周期- |+ W. t9 V% |3 K4 h% b • 引脚复用非常灵活,允许将 I/O 引脚用作 GPIO 或多种外设功能中的一种GPIO功能说明 , O7 V4 T! y7 q& Q y AN4899 8/31 DocID029601 Rev 1 [English Rev 1], n, c9 w' T, J) h 3 GPIO功能说明: g( [4 M- }3 _6 k$ O STM32 GPIO可用于各种配置。每个GPIO引脚都可以通过软件在以下任何模式下单独配置: • 4 @+ M2 \8 O5 {# o3 r% p- J 输入浮空 • 4 f9 [8 Z* ^( R 输入上拉 • - b3 S$ A& B( H 输入下拉3 V B6 f* [) D _& I# t+ f6 Y/ Q • - U2 l5 N/ H% H+ q) p: L 模拟 • 具有上拉或下拉功能的开漏输出" I R: p5 q/ {6 B. t$ C" C3 } • 7 F* F5 |& h, t, U/ a 具有上拉或下拉功能的推挽输出 • 具有上拉或下拉功能的复用功能推挽9 |6 U& M! g" q • ! ^9 c/ y' V: h2 i3 [ 具有上拉或下拉功能的复用功能开漏 3.1 GPIO缩写6 A% c9 c6 T \: N: Y6 w/ t STM32器件范围内有多种GPIO结构可供使用。每个结构都与选项列表相关联。 表 1总结了适用于STM32产品的GPIO定义和缩写 例如,以下描述涉及STM32数据表中的GPIO:9 X3 z( J# {, x5 ~! B PB1 I/O FT表示:8 [ p$ ^! i4 C0 h+ b0 d# U – PB1 I/O引脚:端口B位1输入/输出% [: P1 ?5 N) P0 d4 X0 J – FT:5 V 容限 在开始电路板设计之前,请务必参考STM32产品的数据表或STM32CubeMX工具,以检查与目6 j: m) T g. O2 X+ @ 标应用程序一致的GPIO可用性。: J& s, k; r* p8 Y, {, D 请参阅www.st.com/stm32上有关软件开发工具的部分。- y5 R. }" @$ v3 t 表1. GPIO结构列表 ! i- M2 X" {% K" n$ y 名称 缩写 定义) k) j& J6 h7 ], q, y7 X' e 引脚类型 S T0 Q4 M0 B) i 电源引脚 I 仅输入引脚. ?6 {3 D O# w. H I/O 输入/输出引脚! x+ t: U+ I7 t8 k ^3 ]' \ I/O 结构 FT(1) 9 n& O) G# Y7 s! S8 P 五伏容限I/O引脚7 p6 l/ w/ _; n {0 g TT(1) % ~8 m* F" ]$ _) G. R* o( a 三伏容限I/O引脚 TC 三伏输入输出引脚(标准3.3 V I/O) B 1 h8 J# s- F% d3 g, |4 Y! p 专用BOOT引脚 RST 配有内置弱上拉电阻的双向复位引脚" s9 _; Q9 z6 W& U" p& O! P* M 引脚功能 复用功能 通过GPIOx_AFR寄存器选择的功能 其他功能 通过外设寄存器直接选择和启用的功能 1. FT和TT I/O的选项取决于具体器件。用户必须参考数据表中的定义。DocID029601 Rev 1 [English Rev 1] 9/31' X6 s9 P( u9 Z, d, L. ] AN4899 1 Y1 k1 I2 z) h GPIO功能说明 30- b4 g. s7 P+ z( H5 g" n' G$ T1 g 3.2 GPIO等效原理图 STM32产品集成了三个主要的GPIO基本结构: • 三伏兼容(缩写为TC)。 图 1给出了等效的GPIO图结构。, e& w8 d$ _. @, B- a5 E( | • 三伏容限(缩写为TT)。' G4 v# E0 ^6 t1 o • . R% D2 d/ [/ n }2 y1 x 五伏容限(缩写为FT) 图 2给出了TT或FT等效的GPIO图结构。 注: 在图 1和图 2中,虚线框中的模拟开关是可选的。它的存在取决于要选用的STM32产品。有8 N% a$ ~/ E: \6 m3 ] 关详细信息,请参见产品数据手册。$ S6 y: i4 {2 {0 E 在图 1和图 2中,VDD供电可根据STM32产品选用VDD或者VDDIO2。有关详细信息,请参见产# x/ R2 r+ {( Z2 o% o 品数据手册。' A- q) x+ i e0 {4 T5 C 图1. 三伏兼容的GPIO结构(TC)4 E! s* Q8 ^2 f# [ 注: 模拟域中的寄生二极管连接到VDDA并且不能用作保护二极管。' K( l" e+ `( F' n5 H 在一些数据表和参考手册中称为VDD_FT的电压电平在ESD保护块内部。 MSv46872V11 J/ i, L0 E" x VDD I/Oᕋ㝐 VSS4 S5 C+ s2 Y5 z% j" W+ E) D6 \ VDD3 o$ N) ?- O, J PMOS NMOS* f; F. J) s3 k$ M* U% y 䗉ޛ㕉ߨಞ 䗉࠰㕉ߨಞ8 F3 S% o E$ @# H& x ሲ䙐/ީᯣ & M+ r8 ^; Q- Y, z VSS ࠰㜳䗉ࣕ⭞གྷ གྷ⭞ࣕ㜳䗉ޛ 2 w% N1 W' z9 ]3 G4 ?: A( Q( } VSS ⁗ᤕᔶީ ⁗ᤕIP ⁗ᤕ VSS9 q) S6 _+ q& s8 o: ^. B! u VDD ᮦᆍ VDDA ᇺ⭕ӂᶷ㇗4 s7 Z) T! u5 H3 X1 I ф⭫䱱0 p z/ Q; k& u. i4 x RPU RPD 䗉ޛᮦᦤ p( S& {% S9 a s ᇺᆎಞ 䗉࠰ᮦᦤ ᇺᆎಞ+ J4 }3 X3 A' Z0 i% ~ ࠰䗉 7 _9 X9 E% A# L& Z8 e; @8 d ⁗ᤕ 䘿Ԭ- u+ h; V7 R: M! H1 i; t ሲ䙐/ީᯣ - H1 C1 V9 H V) A ESD! G' ` t# |% Y0 p/ w) A ؓᣚGPIO功能说明 AN48999 G, T% b, T( N; y& S 10/31 DocID029601 Rev 1 [English Rev 1] 图2. 三伏或五伏容限GPIO结构(TT或FT)5 F6 Y/ }; u. Z. @% q 注: 模拟域中的寄生二极管连接到VDDA并且不能用作保护二极管。 在一些数据表和参考手册中称为VDD_FT的电压电平在ESD保护块内部。 选择模拟选项后,由于引脚提供VDDA,FT I/O不再具有五伏容限。 注意: TT或FT GPIO引脚没有内部保护二极管连接到电源(VDD)。过电压没有物理限制。因此,对- ~; J! |2 e; j+ [- P 于需要限制电压阈值的应用,建议将外部二极管连接到VDD。9 z* k% X$ h1 t( A7 Q1 q " R$ G! A: I- M# L 0 T% H9 `% h `( u( U |
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南
ST 微控制器电磁兼容性 (EMC) 设计指南
适用于STM32微控制器的ΣΔ数字接口入门