提示:本人跟着蚂蚁工厂学习,文章中的一些资料借鉴蚂蚁工厂的PPT
前言
这里的内容主要介绍了GPIO引脚内部的相关内容,供大家参考。
一、GPIO是什么?
GPIO:General Purpose Input Output通用用途输入输出
核心功能:输入、输出和高级外设的复用功能
STM32G431RBT6
4个GPIO,64个引脚
GPIO A:PA0 ~ PA15
GPIO B:PB0 ~ PB15
GPIO C:PC0 ~ PC15
GPIO D:部分
二、GPIO的功能配置
引脚除了具有输入输出功能还有其他功能在《STM32G431RB数据手册》4.10节
如何查看引脚的其他功能?
由一列一行唯一确定一个具体功能
如何把PAx配置成AFy? 比如把PA3配置成AF13
三、GPIO的模式
1.引脚内部
①保护二极管用于防止因为引脚外部输入电压过高或过低烧坏芯片。
②输入功能,通过一个电阻和一个开关(可以通过寄存器控制开关状态)可以把输入线拉高或者拉低,这个电阻阻值大概为40K欧。
③PMOS管和一个NMOS管组合而成一个反相器驱动输出。
④输出控制具有置反的功能
2.GPIO的八个模式
(1)浮空输入模式
(2)输入上拉模式
(3)输入下拉模式
(4)高阻态模拟输入模式
(5)开漏通用输出模式
(6)推挽通用输出模式
(7) 推免复用功能输出模式
(8)开漏复用功能输出模式
四、如何配置GPIO的模式
关键是寄存器----寄存器在《STM32G4系列微控制器参考手册》9.4 GPIO registers
人通过操作HAIL库来操作寄存器
这里以配置输入浮空模式为例:
模式寄存器MODER位[1:0]为00,我们需要在《STM32G4系列微控制器参考手册》找到模式寄存器(9.4.1)
可以看到00代表输入模式,接下来看上/下拉寄存器(9.4.4)
可以看到00代表浮空模式
以上几个模式都是这样配置,从数据手册找到相应的寄存器《STM32G4系列微控制器参考手册》,再看到组合表示的意思,做相应的操作即可。
总结
这里对文章进行总结:
以上就是今天学习内容,本文主要介绍了GPIO的底层的相关内容。