【STM32】端⼝GPIO详解
前注:本⽂章主要讲解【原理】【固件库(标准库)】【HAL库】
内容为 '_Snake_'编写,⽇常学习总结,内容如有不⾜、不妥之处请私信告知,谢谢!
实验:
A.硬件原理
⼀、GPIO通⽤
中间小谢又清发
1.GPIO简介
GPIO(General-Purpo IO ports,通⽤输⼊/输出接⼝),⽤于感知外界信号(输⼊模式)和控制外部设 备(输出模式),通⽤型之输⼊输出的简称,是 STM32 的⼀种外设,与⼤部分芯⽚引脚直接挂钩。其接脚可以供 由程控⾃由使⽤,单来说就是STM32可控制的脚,STM32芯⽚的GPIO引脚与外部设备连接起来,从⽽实现与外部通讯、控制以及数据采集的功能。GPIO 最简单的功能是输出⾼低电平,GPIO 还可以被设置为输⼊功能,⽤于读取按键等输⼊信号。之前也介绍到,很多⾼级外设也有功能引脚,并且是与GPIO 共⽤的。
2.GPIO主要特性
输出状态:推挽或开漏 + 上拉/下拉
从输出数据寄存器 (GPIOx_ODR) 或外设(复⽤功能输出)输出数据
可为每个 I/O 选择不同的速度
形容早晨的诗句
输⼊状态:浮空、上拉/下拉、模拟
将数据输⼊到输⼊数据寄存器 (GPIOx_IDR) 或外设(复⽤功能输⼊)
置位和复位寄存器 (GPIOx_BSRR),对 GPIOx_ODR 具有按位写权限
锁定机制 (GPIOx_LCKR),可冻结 I/O 配置
模拟功能
复⽤功能输⼊/输出选择寄存器(⼀个 I/O 最多可具有 16 个复⽤功能)
快速翻转,每次翻转最快只需要两个时钟周期
引脚复⽤⾮常灵活,允许将 I/O 引脚⽤作 GPIO 或多种外设功能中的⼀种
3.GPIO功能描述
多萝西绿野仙踪
─ 输⼊浮空
─ 输⼊上拉
─ 输⼊下拉
─ 模拟输⼊
─ 开漏输出
─ 推挽式输出
─ 推挽式复⽤功能
─ 开漏复⽤功能
I/O端⼝位的基本结构
5伏兼容I/O端⼝位的基本结构端⼝位配置表
输出模式位
团的基本任务输⼊配置
输出缓冲器被禁⽌
施密特触发输⼊被激活
根据输⼊配置(上拉,下拉或浮动)的不同,弱上拉和下拉电阻被连接
出现在I/O脚上的数据在每个APB2时钟被采样到输⼊数据寄存器
对输⼊数据寄存器的读访问可得到I/O状态
输出配置
脸上起癣怎么办输出缓冲器被激活 ─ 开漏模式:输出寄存器上的’0’激活N-MOS,⽽输出寄存器上的’1’将端⼝置于⾼阻状态(P-MOS从不被激活)。 ─ 推挽模式:输出寄存器上的’0’激活N-MOS,⽽输出寄存器上的’1’将激活P-MOS。
施密特触发输⼊被激活
弱上拉和下拉电阻被禁⽌
出现在I/O脚上的数据在每个APB2时钟被采样到输⼊数据寄存器
在开漏模式时,对输⼊数据寄存器的读访问可得到I/O状态
在推挽式模式时,对输出数据寄存器的读访问得到最后⼀次写的值。
复⽤功能配置红烧八爪鱼>阮郎归初夏
在开漏或推挽式配置中,输出缓冲器被打开
内置外设的信号驱动输出缓冲器(复⽤功能输出)
施密特触发输⼊被激活
弱上拉和下拉电阻被禁⽌
在每个APB2时钟周期,出现在I/O脚上的数据被采样到输⼊数据寄存器
开漏模式时,读输⼊数据寄存器时可得到I/O⼝状态
在推挽模式时,读输出数据寄存器时可得到最后⼀次写的值
模拟输⼊配置
输出缓冲器被禁⽌;
禁⽌施密特触发输⼊,实现了每个模拟I/O引脚上的零消耗。施密特触发输出值被强置为’0’;
弱上拉和下拉电阻被禁⽌;
读取输⼊数据寄存器时数值为’0’。
外设的GPIO配置自传作文600字