STM32 GPIO

这篇具有很好参考价值的文章主要介绍了STM32 GPIO。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GPIO(General Purpose Input Output)通用输入输出口

·可配置为8种输入输出模式

·引脚电平:0V~3.3V,部分引脚可容忍5V(FT)

·输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等

·输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等

GPIO基本结构

STM32 GPIO,STM32,stm32                                                                                                                                                 图1.1

由上图1.1,我们可以清晰地知道,GPIO若干个端口GPIOX(X=A|B|C.......)均连接在APB2总线上。 对应的引脚 从 0~15

寄存器32位,而引脚只有16个,所以寄存器只有低16位的对应有端口

GPIO位结构(寄存器+驱动器+端口)

STM32 GPIO,STM32,stm32

                                                                                                                                                图2.1

保护二极管

若输入电压A>VDD+Vf(二极管导通电压),上方二极管导通,电流会流向VDD而不流入内部电路。B点电压稳定在VDD+Vf(B后面相当于和上面的电路并联)

若输入电压A<-Vf,电流会从VSS流出,而不会从内部汲取

我们介绍一下二极管的钳位作用:

STM32 GPIO,STM32,stm32

                                                                                                                                                 图2.2

可以发现无论电路中串联的阻值怎么变化,二极管总把电压钳制在0.7V按照中学学过的欧姆定律,我们可以知道,两个并联的100欧的电阻均分5V电压,但是将另一个100欧姆电阻和二极管并联起来呢?是0.7V还是2.5V?

STM32 GPIO,STM32,stm32

                                                                                                                                                  图2.3

实验检测是0.7V左右。

理解:

1.二极管正向导通电阻较小,并联后的等效电阻会无限接近于小的电阻,于是,分压接近0.7V

2.二极管电阻小,电流倾向于通过电阻小的地方,大电阻被“短路”,电压降近似为0.7V

3.从二极管的伏安特性曲线入手:

STM32 GPIO,STM32,stm32

                                                                                                                                             图2.4

0.7V附近是拐点,小于这个值二极管截止,大于这个值,导通。

钳位电压不是固定在0.7 是在0~1之间浮动

而二极管想获得更大的分压,电流也要足够大,上面的图2.2,似乎二极管分压可以大于0.7V但是电流计算下来很小也就不行了

输入

我们继续看图2.1输入的部分 信号输入后有上下拉电阻,作用是提供默认、稳定的输入电平:上拉(高电平)输入、下拉(低电平)输入、浮空输入(易受外界干扰,不稳定)

上拉电阻阻值大小区别
优点  缺点
阻值大 漏电流小 驱动能力弱
阻值小 驱动能力强 漏电流大

TTL肖特基触发器(理解为用肖特基管构成的施密特触发器??)  ??滞回比较器 模电

作用:对输入电压进行整形,0|1的逻辑

STM32 GPIO,STM32,stm32

红线为假设输入波形,绿线为上下阈值,蓝线为输出波形

这样一来,输出信号实现了二值化

模拟输入接到TTL前面,因为接受模拟量(随时间不断变化)

数字输入接到后面(二值逻辑)

输出

选择输出数据寄存器(只用低16位)--->普通IO口输出 位操作就可以操作对应的端口了

位设置/清除寄存器--->单独操作输出数据寄存器的某一位而不影响其他位  因为这个寄存器能同时控制16个端口,并且只能整体读写。

 

如果想控制某一个端口而不影响其他端口
第一个方法是先读出这个寄存器,然后用按位与和按位或的方式更改某一位,最后再将更              的数据写回去。但是这个方法效率不高
 (*)第二个方法是设置位设置和位清除寄存器(高16位位清除,低16位位设置)  若对某一位置一操作,在位设置寄存器对应位置写1,其他位置写0。 若想对某一位清零,就在位清除寄存器的对应位写1即可。
        PS:位清除寄存器(低16位清除)和上面的高16位效果一样。
        这个寄存器的作用:方便,搭配上面的寄存器只使用低16位数据就可以完成设置清除工作
而要对多个端口同时位设置位清除,只使用上面的寄存器,保证信息同步性
 第三个方法是读写“位带”区域
输出模式
输出模式
Q1 Q2 OUTPUT
1 导通 不导通 高电平
2 不导通 导通 低电平
3 不导通 不导通 浮空/高阻态
4 导通 导通 MOS管烧毁

STM32 GPIO,STM32,stm32

 1&2:推挽输出

-->高电平时“推”电流出去,给MOS管充电;低电平时“挽”电流进来,MOS管放电

                   ??     数据寄存器为1时,上管导通,下管断开,输出直接接到VDD,也就是输出高电平

                        数据寄存器为0时,上管断开,下导通,输出直接接到VSS,也就是输出低电平

                        无论高低电平均有较强驱动能力,所以推挽输出模式又叫强推输出模式

2&3:开漏输出(多机通信时,避免各个设备的相互干扰)

-->上面的MOS管永远关闭,下面的MOS管的漏极相当于开路。

                                当数据寄存器为1,下管断开,高阻模式

                                当数据寄存器为0,下管道导通,有“漏”电流

                                只有低电平才有驱动能力

STM32 GPIO,STM32,stm32

        STM32 GPIO,STM32,stm32STM32 GPIO,STM32,stm32STM32 GPIO,STM32,stm32

输入模式下输出无效,输出模式下输入有效:一个端口只能一个输出可以多个输入

STM32 GPIO,STM32,stm32文章来源地址https://www.toymoban.com/news/detail-833311.html

到了这里,关于STM32 GPIO的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stm32——GPIO输出

    (以下内容均来自:bilibili江协科技) GPIO(general purpose input output)通用输入输出口 简介: 1、可配置8种输入输出模式 2、引脚电平:0v~3.3v,部分引脚可容忍5v(可以在这个端口输入5v的电压,也认为是高电平。但对于输出而已,最大只能输出3.3v,因为供电只有3.3v) 3、输出

    2024年02月05日
    浏览(25)
  • STM32 GPIO

    · 可配置为8种输入输出模式 · 引脚电平:0V~3.3V,部分引脚可容忍5V(FT) · 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 · 输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟

    2024年02月21日
    浏览(22)
  • 【【STM32之GPIO】】

    学完了正点原子自带的视频课之后感觉仍然一知半解现在更新一下来自其他版本的STM32学习 GPIO 就是 General Purpose Input Output 中文名叫通用输入输出口 可配置8种输入输出模式 引脚电平 0V~3.3V 部分引脚可容忍5V 输出模式下可控制端口输出高低电平,用以驱动LED,控制蜂鸣器,模

    2024年02月12日
    浏览(22)
  • STM32 GPIO篇

    ·GPIO(General Purpose Input Output)通用输入输出口 ·可配置为8种输入输出模式 ·引脚电平: 0v~3.3v,部分引脚可容忍5v ·输出模式下可控制端口输出高低电平,用以驱动LED,控制蜂鸣器,模拟通信协议输出时序等 ·输入模式下可读取端口的高低电平或电压,用于读取按键输入,外

    2024年04月12日
    浏览(24)
  • STM32 GPIO复习

    General Purpose Input Output,即通用输入输出端口,简称GPIO。 负责采集外部器件的信息或控制外部器件工作,即输入输出。 不同型号,IO口数量可能不一样,可通过选型手册快速查询。 能快速翻转,每次翻转最快只需要两个时钟周期(F1最高速度可到50MHz)。 每个IO口可以做中断

    2024年02月11日
    浏览(22)
  • STM32-GPIO

    (1)GPIO(General-Purpose input/output):通用输入输出端口的简称。是 外设 与 微控制器 (STM32等单片机)通信的通道,俗称 常用引脚。 (2)引脚电平:0V~3.3V,部分引脚可容忍5V。 (3)输出模式下可控制端口输出高低电平,以驱动LED ,控制蜂鸣器,模拟通信协议输出时序等。

    2024年03月27日
    浏览(27)
  • STM32 GPIO口

    划线上方为输入部分,下方为输出部分。 首先看输入部分,I/O引脚接入两个保护二极管是对电压进行限幅. VDD为3.3V,VSS为0V。 当输入电压大于3.3V,上面二极管导通,输入电压产生的电流直接;流入VDD而不流入内部电路。 当输入电压小于0V,下面二极管导通,输入电压产生的

    2024年02月19日
    浏览(20)
  • STM32--GPIO

    GPIO(General Purpose Input Output)是通用输入/输出口的简称 。它是一种可以 通过软件控制的端口扩展器 ,常见于各种嵌入式系统和单片机中。GPIO具有以下特点和优势: 低功耗:GPIO使用的电流较小,能够在嵌入式系统中实现低功耗的控制和监视功能。 小封装:GPIO芯片通常采用

    2024年02月13日
    浏览(23)
  • 【STM32】GPIO

    GPIO是通用输入输出端口的简称,STM32芯片通过GPIO与外设连接,从而实现与外设的数据收发。 最基本的输出功能是由STM32控制引脚输出高、低电平,实现开关控制。如把GPIO引脚接入到LED灯控制LED亮灭,或者接入到三极管控制外部大功率电路的通断。 最基本的输出功能是检测外

    2024年02月12日
    浏览(22)
  • STM32——GPIO配置

    GPIO的输入输出是对于STM32单片机来说的。以下仅为个人粗略笔记,内部电路分析可参考博客https://blog.csdn.net/k666499436/article/details/123845466 1. 输入 上拉输入 下拉输入 浮空输入 模拟输入 2. 输出 复用推挽输出 普通推挽输出 复用开漏输出 普通开漏输出 3. 如何选择GPIO的模式 先判

    2024年02月12日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包