1.STM32 GPIO介绍
GPIO概念
GPIO(General-purpose input/output 通用输入输出的简称)可以通过软件控制其输入输出,stm32GPIO引脚和外部设备连接就可以实现通信、数据采集等功能。
stm32GPIO最简单的应用就是控制LED了。
引脚分类:电源引脚、晶振引脚、复位引脚、下载引脚、BOOT引脚、GPIO引脚
特点:以16个引脚为一组 例:PA0~PA15
若想自己查找引脚功能可以查看手册
引脚功能介绍
特殊字符代表的含义
s代表电源,i代表仅输入,IO代表输入输出,TF和TFt代表可以容耐5V电压,TTa是3.3V的ADC接口,TC是标准3.3V的IO,B代表BOOT引脚,RST是复位引脚
GPIO结构框图
-
距IO最近处是保护二极管,作用是防止电压过高或过低从而损坏
输入电压高于VDD时,电压会以IO—>VDD的方向流出,从而保护电路
输入电压低于VSS时,电压以VSS—>方向流出,从而保护电路
-
图中保护二极管左上方有两个开关,从上到下分别是上拉电阻开关和下拉电阻开关
控制上下拉电阻,可以控制引脚的默认电平。
打开上拉电阻开关,可以默认输出高电平。
打开下拉电阻开关则默认输出低电平。
当同时断开上下拉电阻开关时,处于浮空状态这时引脚的电平不确定,且可能不断跳变。一般会默认让引脚有一个电平
-
TTL施密特触发器可以将模拟信号转换成数字信号
-
输出:
输出模式中有一个P/N—MOS管,这就让GPIO引脚具备了推挽、开漏输出的输出模式
在开漏输出模式下,P-MOS管不工作,只有N-MOS管起作用。若输出数据寄存器的值为0,则N-MOS导通,IO口输出低电平;若输出数据寄存器的值为1,则N-MOS截止;由于P-MOS不工作,此时IO口既不是高电平,也不是低电平,这种状态被称为高阻态。
在推挽输出模式下,若输出数据寄存器的值为0,则N-MOS导通,P-MOS截止,IO口输出低电平;若输出数据寄存器的值为1,则N-MOS截止,P-MOS导通,IO口输出高电平;
我画了个图辅助理解:
GPIO工作模式
硬件设计
软件设计
实验现象
补充
“复用功能”,是指单片机的引脚既可以做普通GPIO使用,也可以作为内部外设控制器的引脚来使用。
高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平。
希望对你有所帮助
如有错误欢迎评论区指正或讨论