
前言' E2 w" w, s3 S2 T& d+ b 这里的内容主要介绍了GPIO引脚内部的相关内容,供大家参考。 一、GPIO是什么? GPIO:General Purpose Input Output通用用途输入输出; n4 {' E$ O8 m( ^+ \4 J8 W$ ]5 Z $ ^; [# [0 z0 z* C% a 核心功能:输入、输出和高级外设的复用功能 3 N, T9 H- L; g7 Q( S' ^! H# | ![]() 3 Q b# y. d7 D% I5 R) M- P
二、GPIO的功能配置 引脚除了具有输入输出功能还有其他功能在《STM32G431RB数据手册》4.10节6 |: J. y9 X$ ~. L/ ?; U8 H3 d, Z) E ![]() ![]() + 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 ![]() ![]() 由一列一行唯一确定一个具体功能( 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+ } ![]() ![]() 5 `1 L* p( U- H" C8 w' i5 V! P5 | ![]() 8 s* b7 i5 i7 Z7 D) K6 p& m6 B 三、GPIO的模式" E8 o7 a+ V" o1 S. ~# n0 e 1.引脚内部7 k6 A8 p0 F7 }: w5 N ![]() + E% O7 F8 d. |$ Y ①保护二极管用于防止因为引脚外部输入电压过高或过低烧坏芯片。; O( b' g: K$ o" x4 p ②输入功能,通过一个电阻和一个开关(可以通过寄存器控制开关状态)可以把输入线拉高或者拉低,这个电阻阻值大概为40K欧。' t9 o$ A, p0 D ③PMOS管和一个NMOS管组合而成一个反相器驱动输出。 ④输出控制具有置反的功能% e2 x! |+ [2 p! A 2 U4 W6 y7 F' @+ w 8 W% z, ^* r4 n4 o3 s 2.GPIO的八个模式 (1)浮空输入模式 ! @% D5 x' O/ H4 R# X* x0 S' u5 H ![]() - 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 ![]() (3)输入下拉模式5 ]6 C6 d6 q+ S: U6 N! x % r1 d8 B* z$ X. A/ k1 c ![]() 5 W$ ~/ f A9 D3 z (4)高阻态模拟输入模式" V3 z3 e `! E& F/ u ![]() 8 p3 m8 ~- l) c' Q1 Y) \& s (5)开漏通用输出模式 , k4 }7 s' u8 s& G2 d ![]() (6)推挽通用输出模式 % C: c7 L$ Y) g: z; u. Q s ![]() R; r7 C7 h; B9 G* ^. k5 | (7) 推免复用功能输出模式 ![]() ) [& Y+ r6 z- @' L& h (8)开漏复用功能输出模式) h" u3 o5 K2 h+ J l % x0 d3 M/ X; ^5 i& d4 _ ![]() 四、如何配置GPIO的模式 ![]() & x' h3 G9 h% j1 {1 A% H0 z 关键是寄存器----寄存器在《STM32G4系列微控制器参考手册》9.4 GPIO registers6 |% T; L, C; _* Z 人通过操作HAIL库来操作寄存器 6 [1 K) E, m e j ?4 h( U' a) P, t ![]() ; }* 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 ![]() ![]() 可以看到00代表浮空模式 以上几个模式都是这样配置,从数据手册找到相应的寄存器《STM32G4系列微控制器参考手册》,再看到组合表示的意思,做相应的操作即可。$ o1 T. p( `; l( ]1 Y6 d; A1 s& f6 ? ———————————————— 版权声明:想要优秀点儿 0 v) ^* w& f: p5 u4 T/ t; c |
【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) 设计指南