STM32学习笔记-GPIO输入输出-03

一. GPIO简介

1.GPIO表示通用输入输出口,有8种输入输出模式,引脚电平为0-3.3V,部分引脚可以容忍5V,容忍5v指输入端口可以5v,但是输出最高仍为3.3v。

2.输出模式下可以控制端口输出高低电平(通过不同的输出模式),用来驱动LED,控制蜂鸣器,模拟通信协议输出时序等。

3.输入模式下可读取端口的高低电平或电压,用来读取按键输入(最常见),外界模块的电平信号输入,ADC电压采集,模拟通信协议接收数据等。

二.GPIO基本结构

1.左边为APB2外设总线,一般情况所有外设挂载再APB2总线上

2.gpio模块中,内核通过APB2总线对寄存器进行读写,达到读取和输出电平的功能,寄存器的每位对应一个引脚,寄存器1为高电平,0为低电平,驱动器负责增加驱动能力

三.GPIO位结构

1.左边3个是寄存器,中间部分为驱动器,

2.右边vdd接3.3v,vss接0v,确保电压在0-3.3v

3.中间上部分的vdd和vss,如果上面导通,下面断开就是上拉输入(默认为高电平的输入模式),反之下拉输入(低),两个都断开,则是浮空输入模式

4.TTL肖特基(即施密特触发器),作用是对输入电压整形

四.输出部分:

1.由片上外设和输出数据寄存器控制输出,输出数据寄存器

2.写入通过片上外设或者输出数据寄存器,输出数据寄存器只能整体读写,具体某一位的控制通过位设置/清除寄存器来实现,例如  方法1:先读出寄存器,再通过按位与和按位或的方式来更改某一位,然后再将更改后的数据写回去,C语言中就是&=和|=的操作,方法2:通过设置位设置/清除寄存器,在对应的位写1,其他位写0

2.推挽输出模式下,p-mos和n-mos均有效,数据寄存器为1时,上管导通,下管断开,输出直接接到vdd,就是输出高电平,反之上断下开,vss,低。此模式,高低电平均有较强的驱动能力,因此又称为强推输出模式。

3.开漏输出模式下,p-mos无效,n-mos有效,数据寄存器为1时,下管断开,数据寄存器为0时,下管导通。此模式下仅有低电平有驱动能力,高电平无驱动能力。可以作为通信协议的驱动方式,或者输出5V的电平信号。

4.关闭:引脚配置为输入模式,关闭

五.GPIO模式

开漏输出和推挽输出都可以输出有驱动能力的低电平,但只有推挽输出能输出有驱动能力的高电平。

六.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值